<?metadataRepository version='1.1.0'?><repository name="eclipse.platform.repository" type="org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository" version="1.0.0">
<properties size="2">
<property name="p2.timestamp" value="1460909614791"/>
<property name="p2.compressed" value="true"/>
</properties>
<units size="1361">
<unit id="org.eclipse.e4.ui.workbench3" version="0.13.0.v20150727-1801">
<update id="org.eclipse.e4.ui.workbench3" range="[0.0.0,0.13.0.v20150727-1801)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Bundle for Workbench APIs available in e4"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench3"/>
<property name="maven-version" value="0.13.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench3" version="0.13.0.v20150727-1801"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench3" version="0.13.0.v20150727-1801"/>
<provided namespace="java.package" name="org.eclipse.ui.testing" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench3" version="0.13.0.v20150727-1801"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench3;singleton:=true
Bundle-Version: 0.13.0.v20150727-1801
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.application" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.application" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="57">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.swt.gtk.linux.s390x" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.s390x" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.s390x"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390x" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.s390x" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.s390x" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.s390x; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.rcp" version="3.4.0.v20160107-1316">
<update id="org.eclipse.ui.tests.rcp" range="[0.0.0,3.4.0.v20160107-1316)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse RCP Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.rcp"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.rcp" version="3.4.0.v20160107-1316"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.rcp" version="3.4.0.v20160107-1316"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.rcp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.rcp.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.rcp.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.tests.harness" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.rcp" version="3.4.0.v20160107-1316"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.rcp; singleton:=true
Bundle-Version: 3.4.0.v20160107-1316
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.source" version="3.105.0.v20160401-0731" singleton="false">
<update id="org.eclipse.swt.examples.source" range="[0.0.0,3.105.0.v20160401-0731)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="SWT Standalone Examples Plugin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.source" version="3.105.0.v20160401-0731"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.source" version="3.105.0.v20160401-0731"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.source" version="3.105.0.v20160401-0731"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.source
Bundle-Version: 3.105.0.v20160401-0731
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.s390" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux s390 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.s390"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.s390"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.0.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.s390;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.source" version="5.0.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.source" range="[0.0.0,5.0.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer API Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source" version="5.0.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer.source" version="5.0.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.filetransfer.source" version="5.0.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.filetransfer.source
Bundle-Version: 5.0.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.feature.group" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.ecore.feature.group" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="8">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.featureName" value="EMF - Eclipse Modeling Framework Core Runtime"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="The core runtime for EMF, including EMF's common utilities, Ecore, XML/XMI persistence, and the change model."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.feature.group" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.change" range="[2.11.0.v20160315-0423,2.11.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.xmi" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.feature.jar" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.tests" version="3.6.0.v20160323-1650">
<update id="org.eclipse.compare.tests" range="[0.0.0,3.6.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Compare Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.tests"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.tests" version="3.6.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.tests" version="3.6.0.v20160323-1650"/>
<provided namespace="java.package" name="org.eclipse.compare.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.tests.performance" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.tests" version="3.6.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.tests;singleton:=true
Bundle-Version: 3.6.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Filetransfer HttpComponents SSL Fragment"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" version="1.1.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.httpclient4.ssl
Bundle-Version: 1.1.0.v20160312-0656
Fragment-Host: org.eclipse.ecf.provider.filetransfer.httpclient4;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.examples" version="3.2.0.v20160323-1650">
<update id="org.eclipse.compare.examples" range="[0.0.0,3.2.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Compare Example"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.examples"/>
<property name="maven-version" value="3.2.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples" version="3.2.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.examples" version="3.2.0.v20160323-1650"/>
<provided namespace="java.package" name="org.eclipse.compare.examples.structurecreator" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.examples" version="3.2.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.examples; singleton:=true
Bundle-Version: 3.2.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.transforms.xslt" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.transforms.xslt" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="XSLT Transform Provider"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="bundle"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.transforms.xslt"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.xslt" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.transforms.xslt" version="1.0.300.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.transforms" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.transforms.xslt" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.transforms.xslt" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.transforms.xslt
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.net.win32.x86" version="1.1.0.v20160323-1650">
<update id="org.eclipse.core.net.win32.x86" range="[0.0.0,1.1.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Proxy for Windows"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net.win32.x86"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.win32.x86" version="1.1.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net.win32.x86" version="1.1.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.net" version="1.1.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.1.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net.win32.x86" version="1.1.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net.win32.x86;singleton:=true
Bundle-Version: 1.1.0.v20160323-1650
Fragment-Host: org.eclipse.core.net;bundle-version="1.1.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.source" version="3.6.0.v20160404-1158" singleton="false">
<update id="org.eclipse.compare.source" range="[0.0.0,3.6.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Compare Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.source" version="3.6.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.source" version="3.6.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.source" version="3.6.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.source
Bundle-Version: 3.6.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.tool.tests" version="1.1.0.v20150423-0947" singleton="false">
<update id="org.eclipse.jdt.compiler.tool.tests" range="[0.0.0,1.1.0.v20150423-0947)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Compiler Tool Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.tool.tests"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool.tests" version="1.1.0.v20150423-0947"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.tool.tests" version="1.1.0.v20150423-0947"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.tool.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.2.2"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.tool.tests" version="1.1.0.v20150423-0947"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.tool.tests
Bundle-Version: 1.1.0.v20150423-0947
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help" version="3.7.0.v20160407-1711">
<update id="org.eclipse.help" range="[0.0.0,3.7.0.v20160407-1711)" severity="0"/>
<properties size="8">
<property name="df_LT.help_plugin_name" value="Help System Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%help_plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help" version="3.7.0.v20160407-1711"/>
<provided namespace="osgi.bundle" name="org.eclipse.help" version="3.7.0.v20160407-1711"/>
<provided namespace="java.package" name="org.eclipse.help" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.context" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.criteria" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.dynamic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.entityresolver" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.extension" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.index" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.toc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.200,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="3.8.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform.dom" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform.stream" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help" version="3.7.0.v20160407-1711"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help; singleton:=true
Bundle-Version: 3.7.0.v20160407-1711
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.ide.application" version="1.1.100.v20160411-2246">
<update id="org.eclipse.ui.ide.application" range="[0.0.0,1.1.100.v20160411-2246)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Eclipse IDE UI Application"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.ide.application"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.application" version="1.1.100.v20160411-2246"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.ide.application" version="1.1.100.v20160411-2246"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.application" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.application.addons" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.application.dialogs" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="2.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="[1.3.100,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.ide.application" version="1.1.100.v20160411-2246"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.ide.application;singleton:=true
Bundle-Version: 1.1.100.v20160411-2246
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ua.tests.doc" version="1.0.200.v20160416-0844">
<update id="org.eclipse.ua.tests.doc" range="[0.0.0,1.0.200.v20160416-0844)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Doc"/>
<property name="maven-groupId" value="org.eclipse.ua"/>
<property name="maven-artifactId" value="org.eclipse.ua.tests.doc"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ua.tests.doc" version="1.0.200.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ua.tests.doc" version="1.0.200.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.doc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.doc.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.doc.internal.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.doc.internal.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.doc.internal.linkchecker" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.http.registry" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help.webapp" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="2.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="2.0.200"/>
<required namespace="java.package" name="javax.servlet" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.http" range="3.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ua.tests.doc" version="1.0.200.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ua.tests.doc;singleton:=true
Bundle-Version: 1.0.200.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.linux.ppc" version="1.0.200.v20140124-1940">
<update id="org.eclipse.core.filesystem.linux.ppc" range="[0.0.0,1.0.200.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Linux PPC"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.linux.ppc"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc" version="1.0.200.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.linux.ppc" version="1.0.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.0.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.linux.ppc" version="1.0.200.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.linux.ppc;singleton:=true
Bundle-Version: 1.0.200.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.tools.feature.feature.group" version="3.105.0.v20160402-1532" singleton="false">
<update id="org.eclipse.swt.tools.feature.feature.group" range="[0.0.0,3.105.0.v20160402-1532)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.description.url" value="%descriptionURL"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.swt.tools.feature"/>
<property name="maven-artifactId" value="org.eclipse.swt.tools.feature"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.featureName" value="SWT Tools"/>
<property name="df_LT.description" value="SWT Tools, including Sleak, SWT Spy Plugin, and JniGen."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools.feature.feature.group" version="3.105.0.v20160402-1532"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools" range="[3.105.0.v20160402-1532,3.105.0.v20160402-1532]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools.feature.feature.jar" range="[3.105.0.v20160402-1532,3.105.0.v20160402-1532]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.monitoring.source" version="1.1.0.v20160131-1628" singleton="false">
<update id="org.eclipse.ui.monitoring.source" range="[0.0.0,1.1.0.v20160131-1628)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="UI Responsiveness Monitoring Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.monitoring"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.monitoring.source" version="1.1.0.v20160131-1628"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.monitoring.source" version="1.1.0.v20160131-1628"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.monitoring.source" version="1.1.0.v20160131-1628"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.monitoring.source
Bundle-Version: 1.1.0.v20160131-1628
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.model.workbench.source" version="1.2.0.v20160229-1459" singleton="false">
<update id="org.eclipse.e4.ui.model.workbench.source" range="[0.0.0,1.2.0.v20160229-1459)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Workbench Model Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.model.workbench"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.model.workbench.source" version="1.2.0.v20160229-1459"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench.source" version="1.2.0.v20160229-1459"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.model.workbench.source" version="1.2.0.v20160229-1459"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.model.workbench.source
Bundle-Version: 1.2.0.v20160229-1459
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.intro.source" version="3.5.0.v20160416-0844" singleton="false">
<update id="org.eclipse.ui.intro.source" range="[0.0.0,3.5.0.v20160416-0844)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Welcome Framework Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.source" version="3.5.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro.source" version="3.5.0.v20160416-0844"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro.source" version="3.5.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro.source
Bundle-Version: 3.5.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.tool" version="1.1.100.v20160128-1641">
<update id="org.eclipse.jdt.compiler.tool" range="[0.0.0,1.1.100.v20160128-1641)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Java Compiler Tool Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="compiler_tool_fragment"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.tool"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool" version="1.1.100.v20160128-1641"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.tool" version="1.1.100.v20160128-1641"/>
<provided namespace="java.package" name="META-INF.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.jdt.core" version="1.1.100.v20160128-1641"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.tool" version="1.1.100.v20160128-1641"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.tool;singleton:=true
Bundle-Version: 1.1.100.v20160128-1641
Fragment-Host: org.eclipse.jdt.core;bundle-version="[3.3.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.solaris.x86_64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.solaris.x86_64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.solaris.x86_64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534" singleton="false">
<update id="org.eclipse.equinox.launcher.gtk.aix.ppc" range="[0.0.0,1.1.200.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher GTK AIX PPC Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.aix.ppc"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.aix.ppc"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.0.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.aix.ppc
Bundle-Version: 1.1.200.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.tests.databinding" version="1.1.0.v20160412-0910" singleton="false">
<update id="org.eclipse.jface.tests.databinding" range="[0.0.0,1.1.0.v20160412-0910)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.tests.databinding"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.tests.databinding" version="1.1.0.v20160412-0910"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.tests.databinding" version="1.1.0.v20160412-0910"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.examples.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.beans" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.tests.databinding.conformance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.math" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.tests.databinding" version="1.1.0.v20160412-0910"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.tests.databinding
Bundle-Version: 1.1.0.v20160412-0910
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.change.source" version="2.11.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.ecore.change.source" range="[0.0.0,2.11.0.v20160315-0423)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="EMF Change Model Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Modeling Project"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.change.source" version="2.11.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore.change.source" version="2.11.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore.change.source" version="2.11.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore.change.source
Bundle-Version: 2.11.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="1.0.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="1.0.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.console.jaas.fragment" version="1.0.0.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.console.jaas.fragment" range="[0.0.0,1.0.0.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="SSHD Fragment"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.console.jaas.fragment"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.jaas.fragment" version="1.0.0.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.console.jaas.fragment" version="1.0.0.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.apache.sshd.core" version="1.0.0.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.apache.sshd.core" range="0.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.console.jaas.fragment" version="1.0.0.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.console.jaas.fragment
Bundle-Version: 1.0.0.v20130327-1442
Fragment-Host: org.apache.sshd.core;bundle-version="0.5.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Standard Widget Toolkit"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.x86" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=solaris)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.arm" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=arm)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.sparcv9" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=sparcv9)(osgi.os=solaris)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390x" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64le" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="java.package" name="org.mozilla.xpcom" range="0.0.0" optional="true" greedy="false"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="java.package" name="org.eclipse.swt.accessibility2" range="0.0.0" optional="true" greedy="false"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.hpux.ia64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.aarch64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=aarch64)(osgi.os=linux)(osgi.ws=gtk)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32)(!(org.eclipse.swt.buildtime=true)))
          </filter>
</required>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" version="0.11.300.v20160330-1418">
<update id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" range="[0.0.0,0.11.300.v20160330-1418)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Eclipse UI MacOS X Enhancements"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment-cocoa"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.renderers.swt.cocoa"/>
<property name="maven-version" value="0.11.300-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" version="0.11.300.v20160330-1418"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" version="0.11.300.v20160330-1418"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.e4.ui.workbench.renderers.swt" version="0.11.300.v20160330-1418"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt" range="[0.10.0,1.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (osgi.ws=cocoa)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" version="0.11.300.v20160330-1418"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.renderers.swt.cocoa;singleton:=true
Bundle-Version: 0.11.300.v20160330-1418
Fragment-Host: org.eclipse.e4.ui.workbench.renderers.swt;bundle-version="[0.10.0,1.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.source" version="3.2.200.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.source" range="[0.0.0,3.2.200.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer Provider Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.source" version="3.2.200.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.source" version="3.2.200.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.source" version="3.2.200.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.source
Bundle-Version: 3.2.200.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.s390x" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.s390x" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.s390x" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.common.feature.jar" version="2.12.0.v20160315-0423">
<properties size="7">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="EMF Common"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Common platform-independent utilities used throughout EMF, including collection classes, notifiers, adapters, and commands."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.feature.jar" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.emf.common" version="2.12.0.v20160315-0423"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.emf.common" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="org.apache.lucene.analysis.source" version="3.5.0.v20120725-1805" singleton="false">
<update id="org.apache.lucene.analysis.source" range="[0.0.0,3.5.0.v20120725-1805)" severity="0"/>
<properties size="5">
<property name="df_LT.bundle.name" value="Apache Lucene Analysis Source"/>
<property name="df_LT.provider.name" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundle.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider.name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.analysis.source" version="3.5.0.v20120725-1805"/>
<provided namespace="osgi.bundle" name="org.apache.lucene.analysis.source" version="3.5.0.v20120725-1805"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.lucene.analysis.source" version="3.5.0.v20120725-1805"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.lucene.analysis.source
Bundle-Version: 3.5.0.v20120725-1805
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.s390" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ui.source" version="3.107.0.v20160415-1308" singleton="false">
<update id="org.eclipse.ui.source" range="[0.0.0,3.107.0.v20160415-1308)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui"/>
<property name="maven-version" value="3.107.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.source" version="3.107.0.v20160415-1308"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.source" version="3.107.0.v20160415-1308"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.source" version="3.107.0.v20160415-1308"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.source
Bundle-Version: 3.107.0.v20160415-1308
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.admin.source" version="1.0.200.v20150430-1836" singleton="false">
<update id="org.eclipse.equinox.p2.ui.admin.source" range="[0.0.0,1.0.200.v20150430-1836)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="p2 Admin UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.admin"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.source" version="1.0.200.v20150430-1836"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.admin.source" version="1.0.200.v20150430-1836"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.admin.source" version="1.0.200.v20150430-1836"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin.source
Bundle-Version: 1.0.200.v20150430-1836
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.reconciler.dropins.source" version="1.1.300.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.reconciler.dropins.source" range="[0.0.0,1.1.300.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Drop-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.reconciler.dropins"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins.source" version="1.1.300.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins.source" version="1.1.300.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.reconciler.dropins.source" version="1.1.300.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins.source
Bundle-Version: 1.1.300.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.hamcrest.core" version="1.3.0.v201303031735" singleton="false">
<update id="org.hamcrest.core" range="[0.0.0,1.3.0.v201303031735)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Core Library of Matchers"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core" version="1.3.0.v201303031735"/>
<provided namespace="osgi.bundle" name="org.hamcrest.core" version="1.3.0.v201303031735"/>
<provided namespace="java.package" name="org.hamcrest" version="1.3.0"/>
<provided namespace="java.package" name="org.hamcrest.core" version="1.3.0"/>
<provided namespace="java.package" name="org.hamcrest.internal" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest.core" version="1.3.0.v201303031735"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest.core
Bundle-Version: 1.3.0.v201303031735
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.cocoa.macosx.x86_64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.cocoa.macosx.x86_64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for Mac OS X (Cocoa) Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.cocoa.macosx.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.cocoa.macosx.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.cocoa.macosx.x86_64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.cocoa.macosx.x86_64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi" version="3.11.0.v20160407-2059">
<update id="org.eclipse.osgi" range="[0.0.0,3.11.0.v20160407-2059)" severity="0"/>
<properties size="10">
<property name="df_LT.eclipse.org" value="Eclipse.org - Equinox"/>
<property name="df_LT.systemBundle" value="OSGi System Bundle"/>
<property name="org.eclipse.equinox.p2.name" value="%systemBundle"/>
<property name="org.eclipse.equinox.p2.description" value="%systemBundle"/>
<property name="org.eclipse.equinox.p2.provider" value="%eclipse.org"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="systembundle"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="70">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi" version="3.11.0.v20160407-2059"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi" version="3.11.0.v20160407-2059"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.adaptor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.internal.adaptor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.log" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.container" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.container.builders" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.container.namespaces" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.console" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" version="1.2.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.internal.reliablefile" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.log" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.debug" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.framework" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.hookregistry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.loader" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.loader.buddy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.loader.classpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.loader.sources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.location" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.messages" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.provisional.service.security" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.provisional.verifier" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.service.security" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.serviceregistry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.signedcontent" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.internal.url" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.launch" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.report.resolution" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.datalocation" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.debug" version="1.2.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.environment" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.localization" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.pluginconversion" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.resolver" version="1.6.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.runnable" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.security" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.urlconversion" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.signedcontent" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.storage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.storage.bundlefile" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.storage.url.reference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.storagemanager" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.util" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.dto" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.framework" version="1.8.0"/>
<provided namespace="java.package" name="org.osgi.framework.dto" version="1.8.0"/>
<provided namespace="java.package" name="org.osgi.framework.hooks.bundle" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.framework.hooks.resolver" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.framework.hooks.service" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.framework.hooks.weaving" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.framework.launch" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.framework.namespace" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.framework.startlevel" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.framework.startlevel.dto" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.framework.wiring" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.framework.wiring.dto" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.resource" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.resource.dto" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.service.condpermadmin" version="1.1.1"/>
<provided namespace="java.package" name="org.osgi.service.log" version="1.3.0"/>
<provided namespace="java.package" name="org.osgi.service.packageadmin" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.service.permissionadmin" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.service.resolver" version="1.0.1"/>
<provided namespace="java.package" name="org.osgi.service.startlevel" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.service.url" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.util.tracker" version="1.5.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi" version="3.11.0.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi; singleton:=true
Bundle-Version: 3.11.0.v20160407-2059
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.discovery.source" version="1.0.300.v20131210-1027" singleton="false">
<update id="org.eclipse.equinox.p2.discovery.source" range="[0.0.0,1.0.300.v20131210-1027)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Discovery Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.source" version="1.0.300.v20131210-1027"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery.source" version="1.0.300.v20131210-1027"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.discovery.source" version="1.0.300.v20131210-1027"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.discovery.source
Bundle-Version: 1.0.300.v20131210-1027
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.rcp.feature.source.feature.jar" version="1.2.200.v20160317-1257">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 RCP Management Facilities Source"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.rcp.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.source.feature.jar" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.rcp.feature.source" version="1.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.rcp.feature.source" version="1.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.gtk.aix.ppc.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.aix.ppc.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.aix.ppc"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.aix.ppc.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.aix.ppc.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.aix.ppc.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.objenesis" version="1.0.0.v201505121915" singleton="false">
<update id="org.objenesis" range="[0.0.0,1.0.0.v201505121915)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Java Library for Object Instantiation"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.objenesis" version="1.0.0.v201505121915"/>
<provided namespace="osgi.bundle" name="org.objenesis" version="1.0.0.v201505121915"/>
<provided namespace="java.package" name="org.objenesis" version="1.0.0"/>
<provided namespace="java.package" name="org.objenesis.instantiator" version="1.0.0"/>
<provided namespace="java.package" name="org.objenesis.instantiator.basic" version="1.0.0"/>
<provided namespace="java.package" name="org.objenesis.instantiator.gcj" version="1.0.0"/>
<provided namespace="java.package" name="org.objenesis.instantiator.sun" version="1.0.0"/>
<provided namespace="java.package" name="org.objenesis.strategy" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.objenesis" version="1.0.0.v201505121915"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.objenesis
Bundle-Version: 1.0.0.v201505121915
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.12.0.v20160414-1953" singleton="false">
<update id="org.eclipse.equinox.sdk.feature.group" range="[0.0.0,3.12.0.v20160414-1953)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009, 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Target Components"/>
<property name="df_LT.description" value="All of the bundles and source that are produced by the Equinox project.  This includes basic OSGi framework support, all implemented compendium services, the p2 provisioning platform and various server-side support bundles.&#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.sdk.feature.group" version="3.12.0.v20160414-1953"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.compendium.sdk.feature.group" range="[3.12.0.v20160413-1439,3.12.0.v20160413-1439]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.sdk.feature.group" range="[3.12.0.v20160407-2059,3.12.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.serverside.sdk.feature.group" range="[3.12.0.v20160413-1503,3.12.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.group" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.feature.feature.group" range="[1.3.0.v20160407-2059,1.3.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.sdk.feature.jar" range="[3.12.0.v20160414-1953,3.12.0.v20160414-1953]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.ui.dialogs.source" version="1.1.0.v20151127-1218" singleton="false">
<update id="org.eclipse.e4.ui.dialogs.source" range="[0.0.0,1.1.0.v20151127-1218)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 dialogs Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.dialogs"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.dialogs.source" version="1.1.0.v20151127-1218"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.dialogs.source" version="1.1.0.v20151127-1218"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.dialogs.source" version="1.1.0.v20151127-1218"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.dialogs.source
Bundle-Version: 1.1.0.v20151127-1218
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.server.core.feature.group" version="1.4.0.v20160407-2059" singleton="false">
<update id="org.eclipse.equinox.server.core.feature.group" range="[0.0.0,1.4.0.v20160407-2059)" severity="0"/>
<properties size="10">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.core"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="Core Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.core.feature.group" version="1.4.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs" range="[3.8.0.v20160319-0610,3.8.0.v20160319-0610]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry" range="[1.1.400.v20150715-1528,1.1.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.core.feature.jar" range="[1.4.0.v20160407-2059,1.4.0.v20160407-2059]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.runtime.source" version="3.12.0.v20160329-1217" singleton="false">
<update id="org.eclipse.core.runtime.source" range="[0.0.0,3.12.0.v20160329-1217)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Core Runtime Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.runtime"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.source" version="3.12.0.v20160329-1217"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.runtime.source" version="3.12.0.v20160329-1217"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.runtime.source" version="3.12.0.v20160329-1217"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.runtime.source
Bundle-Version: 3.12.0.v20160329-1217
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.editors.tests" version="3.9.0.v20160404-2012">
<update id="org.eclipse.ui.editors.tests" range="[0.0.0,3.9.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Editors Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.editors.tests"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors.tests" version="3.9.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.editors.tests" version="3.9.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.ui.editors.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers.tests" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text.tests" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.12.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.editors.tests" version="3.9.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.editors.tests;singleton:=true
Bundle-Version: 3.9.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher" version="1.3.200.v20160318-1642">
<update id="org.eclipse.equinox.launcher" range="[0.0.0,1.3.200.v20160318-1642)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher" version="1.3.200.v20160318-1642"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher" version="1.3.200.v20160318-1642"/>
<provided namespace="java.package" name="org.eclipse.core.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.launcher" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher" version="1.3.200.v20160318-1642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher;singleton:=true
Bundle-Version: 1.3.200.v20160318-1642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.examples.databinding.source" version="1.0.300.v20160411-1445" singleton="false">
<update id="org.eclipse.jface.examples.databinding.source" range="[0.0.0,1.0.300.v20160411-1445)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding Examples Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.examples.databinding"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.examples.databinding.source" version="1.0.300.v20160411-1445"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.examples.databinding.source" version="1.0.300.v20160411-1445"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.examples.databinding.source" version="1.0.300.v20160411-1445"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.examples.databinding.source
Bundle-Version: 1.0.300.v20160411-1445
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.jxpath" version="1.3.0.v200911051830" singleton="false">
<update id="org.apache.commons.jxpath" range="[0.0.0,1.3.0.v200911051830)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Commons JXPath"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.jxpath" version="1.3.0.v200911051830"/>
<provided namespace="osgi.bundle" name="org.apache.commons.jxpath" version="1.3.0.v200911051830"/>
<provided namespace="java.package" name="org.apache.commons.jxpath" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.functions" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.axes" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.compiler" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.beans" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.container" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.dom" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.dynabeans" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.dynamic" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.model.jdom" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.ri.parser" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.servlet" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.util" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.commons.jxpath.xml" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.jxpath" version="1.3.0.v200911051830"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.jxpath
Bundle-Version: 1.3.0.v200911051830
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools" version="4.5.0.v20160308-2123">
<update id="org.eclipse.e4.tools" range="[0.0.0,4.5.0.v20160308-2123)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Tools"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="eclipse.platform.ui.tool"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools" version="4.5.0.v20160308-2123"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools" version="4.5.0.v20160308-2123"/>
<provided namespace="java.package" name="org.eclipse.e4.internal.tools" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.internal.tools.wizards.classes" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.internal.tools.wizards.classes.templates" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.internal.tools.wizards.model" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="3.5.100"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="1.3.100"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.beans" range="1.2.100"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="1.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="2.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="3.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="3.8.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools" version="4.5.0.v20160308-2123"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools;singleton:=true
Bundle-Version: 4.5.0.v20160308-2123
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.ppc.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jsch.tests" version="1.1.0.v20160323-1650" singleton="false">
<update id="org.eclipse.jsch.tests" range="[0.0.0,1.1.0.v20160323-1650)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="JSch Tests Plug-in"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.jsch"/>
<property name="maven-artifactId" value="org.eclipse.jsch.tests"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.tests" version="1.1.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.jsch.tests" version="1.1.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jsch.tests" version="1.1.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jsch.tests
Bundle-Version: 1.1.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.io" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.io" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: IO Utility"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: IO Utility"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.io" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.io" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.io.ssl" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.component" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.ssl" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.thread" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.io" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.io
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.css.sac" version="1.3.1.v200903091627" singleton="false">
<update id="org.w3c.css.sac" range="[0.0.0,1.3.1.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C CSS SAC"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.css.sac" version="1.3.1.v200903091627"/>
<provided namespace="osgi.bundle" name="org.w3c.css.sac" version="1.3.1.v200903091627"/>
<provided namespace="java.package" name="org.w3c.css.sac" version="1.3.0"/>
<provided namespace="java.package" name="org.w3c.css.sac.helpers" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.css.sac" version="1.3.1.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.css.sac
Bundle-Version: 1.3.1.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.emf.xpath.source" version="0.1.100.v20151005-1655" singleton="false">
<update id="org.eclipse.e4.emf.xpath.source" range="[0.0.0,0.1.100.v20151005-1655)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Model Xpath Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.emf.xpath"/>
<property name="maven-version" value="0.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.emf.xpath.source" version="0.1.100.v20151005-1655"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.emf.xpath.source" version="0.1.100.v20151005-1655"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.emf.xpath.source" version="0.1.100.v20151005-1655"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.emf.xpath.source
Bundle-Version: 0.1.100.v20151005-1655
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ltk.ui.refactoring" version="3.8.0.v20151129-1935">
<update id="org.eclipse.ltk.ui.refactoring" range="[0.0.0,3.8.0.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Refactoring UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.ui.refactoring"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring" version="3.8.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" version="3.8.0.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring.scripting" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.ui.refactoring.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.resource" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="[3.3.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="[3.4.100,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.ui.refactoring" version="3.8.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.ui.refactoring; singleton:=true
Bundle-Version: 3.8.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.net" version="1.3.0.v20160404-1158">
<update id="org.eclipse.core.net" range="[0.0.0,1.3.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.PLUGIN_NAME" value="Internet Connection Management"/>
<property name="df_LT.PLUGIN_PROVIDER" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%PLUGIN_NAME"/>
<property name="org.eclipse.equinox.p2.provider" value="%PLUGIN_PROVIDER"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net" version="1.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net" version="1.3.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.core.internal.net" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.net.proxy" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.2.200"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net" version="1.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net;singleton:=true
Bundle-Version: 1.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.examples.source" version="3.2.0.v20160323-1650" singleton="false">
<update id="org.eclipse.compare.examples.source" range="[0.0.0,3.2.0.v20160323-1650)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Compare Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.examples"/>
<property name="maven-version" value="3.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.source" version="3.2.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.examples.source" version="3.2.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.examples.source" version="3.2.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.examples.source
Bundle-Version: 3.2.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.director.app" version="1.0.500.v20160102-2223">
<update id="org.eclipse.equinox.p2.director.app" range="[0.0.0,1.0.500.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Director Application"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.director.app"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app" version="1.0.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.director.app" version="1.0.500.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.director.app" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="24">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.1.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.director.app" version="1.0.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true
Bundle-Version: 1.0.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.runtime.feature.feature.jar" version="1.1.200.v20160413-0851">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - created feature.xml"/>
<property name="df_LT.featureName" value="Eclipse Core Runtime Infrastructure"/>
<property name="df_LT.description" value="Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.core.feature"/>
<property name="maven-artifactId" value="org.eclipse.core.runtime.feature"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.feature.feature.jar" version="1.1.200.v20160413-0851"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.core.runtime.feature" version="1.1.200.v20160413-0851"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.core.runtime.feature" version="1.1.200.v20160413-0851"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.net" version="1.3.0.v20160404-1158">
<update id="org.eclipse.ui.net" range="[0.0.0,1.3.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.PLUGIN_NAME" value="Internet Connection Management UI"/>
<property name="df_LT.PLUGIN_PROVIDER" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%PLUGIN_NAME"/>
<property name="org.eclipse.equinox.p2.provider" value="%PLUGIN_PROVIDER"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.net"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.net" version="1.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.net" version="1.3.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.net" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.net.auth" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.net" version="1.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.net; singleton:=true
Bundle-Version: 1.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.annotation" version="1.2.0.v201602091430" singleton="false">
<update id="javax.annotation" range="[0.0.0,1.2.0.v201602091430)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="javax.annotation Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.annotation" version="1.2.0.v201602091430"/>
<provided namespace="osgi.bundle" name="javax.annotation" version="1.2.0.v201602091430"/>
<provided namespace="java.package" name="javax.annotation" version="1.2.0"/>
<provided namespace="java.package" name="javax.annotation.security" version="1.2.0"/>
<provided namespace="java.package" name="javax.annotation.sql" version="1.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="0.0.0"/>
<required namespace="java.package" name="javax.annotation" range="1.2.0"/>
<required namespace="java.package" name="javax.annotation.security" range="1.2.0"/>
<required namespace="java.package" name="javax.annotation.sql" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.annotation" version="1.2.0.v201602091430"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.annotation
Bundle-Version: 1.2.0.v201602091430
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.win32.win32.x86_64" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Win32 X86_64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.win32.win32.x86_64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86_64;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.updatesite" version="1.0.500.v20150907-2149">
<update id="org.eclipse.equinox.p2.updatesite" range="[0.0.0,1.0.500.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Legacy Update Site Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.updatesite"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite" version="1.0.500.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatesite" version="1.0.500.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.updatesite" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.updatesite.artifact" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.updatesite.metadata" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="30">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="0.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" range="0.1.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.spi.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.updatesite" version="1.0.500.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite;singleton:=true
Bundle-Version: 1.0.500.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.win32.win32.x86_64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.win32.win32.x86_64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for Windows"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.win32.win32.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.win32.win32.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.ole.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gdip" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.ole.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.win32.win32.x86_64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.win32.win32.x86_64; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.doc.user" version="3.12.0.v20160210-1032">
<update id="org.eclipse.jdt.doc.user" range="[0.0.0,3.12.0.v20160210-1032)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Java development user guide"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.doc.user"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.doc.user" version="3.12.0.v20160210-1032"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.doc.user" version="3.12.0.v20160210-1032"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.doc.user" version="3.12.0.v20160210-1032"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.doc.user; singleton:=true
Bundle-Version: 3.12.0.v20160210-1032
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.application" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.application" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="57">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.compare.win32" version="1.1.0.v20160404-1158">
<update id="org.eclipse.compare.win32" range="[0.0.0,1.1.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Compare Support for Word"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.win32"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.win32" version="1.1.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.win32" version="1.1.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.compare.internal.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.5.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.4.0,4.0.0)"/>
</requires>
<filter>
        (osgi.os=win32)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.win32" version="1.1.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.win32;singleton:=true
Bundle-Version: 1.1.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse.t.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.s.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.l.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.m.pm, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.workbench" version="3.108.0.v20160415-1433">
<update id="org.eclipse.ui.workbench" range="[0.0.0,3.108.0.v20160415-1433)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Workbench"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.workbench"/>
<property name="maven-version" value="3.108.0-SNAPSHOT"/>
</properties>
<provides size="76">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench" version="3.108.0.v20160415-1433"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.workbench" version="3.108.0.v20160415-1433"/>
<provided namespace="java.package" name="org.eclipse.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.about" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.activities" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.application" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.branding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.databinding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.fieldassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.help" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.about" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.activities" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.activities.ws" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.application" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.decorators" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.dialogs.cpd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.e4.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.editorsupport" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.expressions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.help" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.keys" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.keys.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.menus" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.misc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.part" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.progress" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.provisional.application" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.quickaccess" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.splash" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.statushandlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.testing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.themes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.tweaklets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.wizards.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.intro" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.keys" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.menus" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.part" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.progress" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.splash" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.statushandlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.themes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="45">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.101.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench3" range="0.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.addons.swt" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="2.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.13.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.commands" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.commands.internal" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.workbench" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.addons" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.renderers.swt" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.swt" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.services" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.workbench" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.workbench.modeling" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.workbench.renderers.swt" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.emf.common.util" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.emf.ecore" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.emf.ecore.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.2.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.workbench" version="3.108.0.v20160415-1433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.workbench; singleton:=true
Bundle-Version: 3.108.0.v20160415-1433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.httpcomponents.httpcore" version="4.3.3.v201411290715" singleton="false">
<update id="org.apache.httpcomponents.httpcore" range="[0.0.0,4.3.3.v201411290715)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Apache HttpComponents Httpcore"/>
<property name="df_LT.Bundle-Description" value="Source for Apache HttpComponents Core"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.description" value="%Bundle-Description"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.apache.org/"/>
</properties>
<provides size="19">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.httpcomponents.httpcore" version="4.3.3.v201411290715"/>
<provided namespace="osgi.bundle" name="org.apache.httpcomponents.httpcore" version="4.3.3.v201411290715"/>
<provided namespace="java.package" name="org.apache.http" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.annotation" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.concurrent" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.config" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.entity" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.impl" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.impl.entity" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.impl.io" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.impl.pool" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.io" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.message" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.params" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.pool" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.protocol" version="4.3.3"/>
<provided namespace="java.package" name="org.apache.http.util" version="4.3.3"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="java.package" name="javax.net" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.httpcomponents.httpcore" version="4.3.3.v201411290715"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.httpcomponents.httpcore
Bundle-Version: 4.3.3.v201411290715
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.servletbridge.source" version="1.3.200.v20160128-1435" singleton="false">
<update id="org.eclipse.equinox.servletbridge.source" range="[0.0.0,1.3.200.v20160128-1435)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Servletbridge Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.servletbridge"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.servletbridge.source" version="1.3.200.v20160128-1435"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.servletbridge.source" version="1.3.200.v20160128-1435"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.servletbridge.source" version="1.3.200.v20160128-1435"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.servletbridge.source
Bundle-Version: 1.3.200.v20160128-1435
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.jasper.glassfish.source" version="2.2.2.v201501141630" singleton="false">
<update id="org.apache.jasper.glassfish.source" range="[0.0.0,2.2.2.v201501141630)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Vendor.0" value="Eclipse Orbit"/>
<property name="df_LT.Bundle-Name.0" value="JSP 2.2 implementation from Glassfish Sources"/>
<property name="df_LT.Bundle-Description" value="JSP 2.2 reference implementation from Glassfish - Source Bundle"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name.0"/>
<property name="org.eclipse.equinox.p2.description" value="%Bundle-Description"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor.0"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish.source" version="2.2.2.v201501141630"/>
<provided namespace="osgi.bundle" name="org.apache.jasper.glassfish.source" version="2.2.2.v201501141630"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.jasper.glassfish.source" version="2.2.2.v201501141630"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.jasper.glassfish.source
Bundle-Version: 2.2.2.v201501141630
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.w3c.css.sac.source" version="1.3.1.v200903091627" singleton="false">
<update id="org.w3c.css.sac.source" range="[0.0.0,1.3.1.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C CSS SAC Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.css.sac.source" version="1.3.1.v200903091627"/>
<provided namespace="osgi.bundle" name="org.w3c.css.sac.source" version="1.3.1.v200903091627"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.css.sac.source" version="1.3.1.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.css.sac.source
Bundle-Version: 1.3.1.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.mina.core.source" version="2.0.7.v201401071602" singleton="false">
<update id="org.apache.mina.core.source" range="[0.0.0,2.0.7.v201401071602)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache MINA Core Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.mina.core.source" version="2.0.7.v201401071602"/>
<provided namespace="osgi.bundle" name="org.apache.mina.core.source" version="2.0.7.v201401071602"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.mina.core.source" version="2.0.7.v201401071602"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.mina.core.source
Bundle-Version: 2.0.7.v201401071602
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface" version="3.12.0.v20160411-2246">
<update id="org.eclipse.jface" range="[0.0.0,3.12.0.v20160411-2246)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="31">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface" version="3.12.0.v20160411-2246"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface" version="3.12.0.v20160411-2246"/>
<provided namespace="java.package" name="org.eclipse.jface" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.action" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.action.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.bindings" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.bindings.keys" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.bindings.keys.formatting" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.dialogs.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.fieldassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.fieldassist.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.provisional.action" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.menus" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.operation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.preference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.preference.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.resource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.viewers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.viewers.deferred" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.window" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.wizard" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.wizard.images" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.104.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="[0.10.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface" version="3.12.0.v20160411-2246"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface;singleton:=true
Bundle-Version: 3.12.0.v20160411-2246
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.hamcrest.core.source" version="1.3.0.v201303031735" singleton="false">
<update id="org.hamcrest.core.source" range="[0.0.0,1.3.0.v201303031735)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Core Library of Matchers Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
<provided namespace="osgi.bundle" name="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest.core.source" version="1.3.0.v201303031735"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest.core.source
Bundle-Version: 1.3.0.v201303031735
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.tools.emf.ui.source" version="4.5.0.v20160414-1751" singleton="false">
<update id="org.eclipse.e4.tools.emf.ui.source" range="[0.0.0,4.5.0.v20160414-1751)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="EMF ModelTooling UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.emf.ui"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.ui.source" version="4.5.0.v20160414-1751"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.emf.ui.source" version="4.5.0.v20160414-1751"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.emf.ui.source" version="4.5.0.v20160414-1751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.emf.ui.source
Bundle-Version: 4.5.0.v20160414-1751
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.feature.feature.jar" version="3.13.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF Filetransfer API bundle.  This API is used&#10;by the Eclipse platform to support P2 filetransfer and is required for any of the ECF FileTransfer providers."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.jar" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.feature" version="3.13.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.feature" version="3.13.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2004, 2007 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.monitoring" version="1.1.0.v20160131-1628">
<update id="org.eclipse.ui.monitoring" range="[0.0.0,1.1.0.v20160131-1628)" severity="0"/>
<properties size="8">
<property name="df_LT.Bundle-Name" value="UI Responsiveness Monitoring"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.monitoring"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.monitoring" version="1.1.0.v20160131-1628"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.monitoring" version="1.1.0.v20160131-1628"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.monitoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.monitoring.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.monitoring" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.106.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.monitoring" version="1.1.0.v20160131-1628"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.monitoring;singleton:=true
Bundle-Version: 1.1.0.v20160131-1628
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.win32.win32.x86" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.win32.win32.x86" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for Windows"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.win32.win32.x86"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.win32.win32.x86" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.ole.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gdip" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.ole.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.win32.win32.x86" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.win32.win32.x86; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.apt" version="1.2.100.v20160405-1556">
<update id="org.eclipse.jdt.compiler.apt" range="[0.0.0,1.2.100.v20160405-1556)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Java Compiler Apt"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="compiler_apt_fragment"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.apt"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt" version="1.2.100.v20160405-1556"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.apt" version="1.2.100.v20160405-1556"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.dispatch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.lookup" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.jdt.core" version="1.2.100.v20160405-1556"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.apt" version="1.2.100.v20160405-1556"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.apt;singleton:=true
Bundle-Version: 1.2.100.v20160405-1556
Fragment-Host: org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.simpleconfigurator.manipulator.source" version="2.0.100.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.simpleconfigurator.manipulator.source" range="[0.0.0,2.0.100.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Simple Configurator Manipulator Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.simpleconfigurator.manipulator"/>
<property name="maven-version" value="2.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator.source" version="2.0.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator.source" version="2.0.100.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.simpleconfigurator.manipulator.source" version="2.0.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator.source
Bundle-Version: 2.0.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="javax.servlet.jsp" version="2.2.0.v201112011158" singleton="false">
<update id="javax.servlet.jsp" range="[0.0.0,2.2.0.v201112011158)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="JSP API Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp" version="2.2.0.v201112011158"/>
<provided namespace="osgi.bundle" name="javax.servlet.jsp" version="2.2.0.v201112011158"/>
<provided namespace="java.package" name="javax.servlet.jsp" version="2.2.0"/>
<provided namespace="java.package" name="javax.servlet.jsp.el" version="2.2.0"/>
<provided namespace="java.package" name="javax.servlet.jsp.resources" version="2.2.0"/>
<provided namespace="java.package" name="javax.servlet.jsp.tagext" version="2.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="java.package" name="javax.el" range="2.2.0"/>
<required namespace="java.package" name="javax.servlet" range="2.6.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.6.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.servlet.jsp" version="2.2.0.v201112011158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.servlet.jsp
Bundle-Version: 2.2.0.v201112011158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.ui" version="3.8.0.v20160412-1748">
<update id="org.eclipse.team.ui" range="[0.0.0,3.8.0.v20160412-1748)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Team Support UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.ui"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="19">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.ui" version="3.8.0.v20160412-1748"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.ui" version="3.8.0.v20160412-1748"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.synchronize" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.synchronize.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.synchronize.patch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ui.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.ui.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.ui.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.ui.synchronize" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.3.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.ui" version="3.8.0.v20160412-1748"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.ui; singleton:=true
Bundle-Version: 3.8.0.v20160412-1748
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filebuffers" version="3.6.0.v20160308-1118">
<update id="org.eclipse.core.filebuffers" range="[0.0.0,3.6.0.v20160308-1118)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="File Buffers"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filebuffers"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers" version="3.6.0.v20160308-1118"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filebuffers" version="3.6.0.v20160308-1118"/>
<provided namespace="java.package" name="org.eclipse.core.filebuffers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.filebuffers.manipulation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.filebuffers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filebuffers" version="3.6.0.v20160308-1118"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filebuffers; singleton:=true
Bundle-Version: 3.6.0.v20160308-1118
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.intro.universal" version="3.3.0.v20160416-0844">
<update id="org.eclipse.ui.intro.universal" range="[0.0.0,3.3.0.v20160416-0844)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin_name" value="Universal Welcome"/>
<property name="df_LT.provider_name" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider_name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro.universal"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.universal" version="3.3.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro.universal" version="3.3.0.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.universal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.universal.contentdetect" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.universal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.intro.universal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.intro.quicklinks" range="1.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro.universal" version="3.3.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro.universal;singleton:=true
Bundle-Version: 3.3.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.annotations" version="1.0.100.v20160204-0642">
<update id="org.eclipse.pde.api.tools.annotations" range="[0.0.0,1.0.100.v20160204-0642)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="PDE API Tools Annotations"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.annotations"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.annotations" version="1.0.100.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.annotations" version="1.0.100.v20160204-0642"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.annotations" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.annotations" version="1.0.100.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.annotations;singleton:=true
Bundle-Version: 1.0.100.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.doc.user" version="3.12.0.v20160315-1026">
<update id="org.eclipse.pde.doc.user" range="[0.0.0,3.12.0.v20160315-1026)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE User Guide"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.doc.user"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.doc.user" version="3.12.0.v20160315-1026"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.doc.user" version="3.12.0.v20160315-1026"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.doc.user" version="3.12.0.v20160315-1026"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.doc.user; singleton:=true
Bundle-Version: 3.12.0.v20160315-1026
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.ui" version="1.1.300.v20150803-1225">
<update id="org.eclipse.equinox.security.ui" range="[0.0.0,1.1.300.v20150803-1225)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Security Default UI"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.ui"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui" version="1.1.300.v20150803-1225"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.ui" version="1.1.300.v20150803-1225"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.security.ui" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui.storage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui.storage.view" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.ui.wizard" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="[3.2.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.x500" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.internal.provisional.service.security" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.internal.service.security" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="[1.2.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.security" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.3.3,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.ui" version="1.1.300.v20150803-1225"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.ui;singleton:=true
Bundle-Version: 1.1.300.v20150803-1225
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.source.feature.jar" version="2.12.0.v20160315-0423">
<properties size="7">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="Source for EMF - Eclipse Modeling Framework Core Runtime"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Generated source feature. The original description is:&#10;&#10;The core runtime for EMF, including EMF's common utilities, Ecore, XML/XMI persistence, and the change model."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source.feature.jar" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.director.source" version="2.3.200.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.director.source" range="[0.0.0,2.3.200.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Director Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.director"/>
<property name="maven-version" value="2.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.source" version="2.3.200.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.director.source" version="2.3.200.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.director.source" version="2.3.200.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.director.source
Bundle-Version: 2.3.200.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ecf.core.feature.feature.jar" version="1.3.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Core Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF core (org.eclipse.ecf) and ECF identity (org.eclipse.ecf.identity) bundles.  These two bundles are required for all other parts of ECF."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.feature.feature.jar" version="1.3.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.core.feature" version="1.3.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.core.feature" version="1.3.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.text" version="3.11.0.v20160413-2201" singleton="false">
<update id="org.eclipse.jface.text" range="[0.0.0,3.11.0.v20160413-2201)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Text"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.text"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text" version="3.11.0.v20160413-2201"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.text" version="3.11.0.v20160413-2201"/>
<provided namespace="java.package" name="org.eclipse.jface.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.contentassist.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.text.html" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.text.link.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.text.revisions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.text.source" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.hyperlink" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.information" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.link" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.presentation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.quickassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.reconciler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.revisions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.rules" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.source" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.source.projection" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.source.projection.images" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.templates.persistence" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.103.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.text" version="3.11.0.v20160413-2201"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.text
Bundle-Version: 3.11.0.v20160413-2201
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.compat" version="4.5.0.v20160122-0831">
<update id="org.eclipse.e4.tools.compat" range="[0.0.0,4.5.0.v20160122-0831)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Compat"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.compat"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.compat" version="4.5.0.v20160122-0831"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.compat" version="4.5.0.v20160122-0831"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.compat.internal" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.compat.parts" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools.services" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="1.4.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.compat" version="4.5.0.v20160122-0831"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.compat;singleton:=true
Bundle-Version: 4.5.0.v20160122-0831
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.win32.win32.x86" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.win32.win32.x86" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.win32.win32.x86" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher.exe, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.source.feature.jar" version="3.12.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse PDE Plug-in Developer Resources"/>
<property name="df_LT.description" value="Eclipse plug-in development environment, including documentation and source code zips."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.source.feature.jar" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.pde.source" version="3.12.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.pde.source" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.j2se15" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.j2se15" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="J2SE-1.5 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentj2se15"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.j2se15"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se15" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.j2se15" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.j2se15" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.j2se15
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515">
<update id="org.eclipse.sdk.tests" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Tests"/>
<property name="maven-groupId" value="org.eclipse.sdk"/>
<property name="maven-artifactId" value="org.eclipse.sdk.tests"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.sdk.tests; singleton:=true
Bundle-Version: 4.7.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.webapp" version="3.7.0.v20160416-0844">
<update id="org.eclipse.help.webapp" range="[0.0.0,3.7.0.v20160416-0844)" severity="0"/>
<properties size="8">
<property name="df_LT.help_webapp_plugin_name" value="Help System Webapp"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%help_webapp_plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.webapp"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.webapp" version="3.7.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.webapp" version="3.7.0.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp.data" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp.service" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp.servlet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.webapp.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.webapp" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="[4.0.0,5.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper.registry" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.http.registry" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.200"/>
<required namespace="java.package" name="com.ibm.icu.text" range="3.8.0"/>
<required namespace="java.package" name="javax.servlet" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.http" range="3.1.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.webapp" version="3.7.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.webapp;singleton:=true
Bundle-Version: 3.7.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.hamcrest.text" version="1.1.0.v20090501071000" singleton="false">
<update id="org.hamcrest.text" range="[0.0.0,1.1.0.v20090501071000)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Library of Text Matchers"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.text" version="1.1.0.v20090501071000"/>
<provided namespace="osgi.bundle" name="org.hamcrest.text" version="1.1.0.v20090501071000"/>
<provided namespace="java.package" name="org.hamcrest.text.pattern" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.text.pattern.internal.ast" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.text.pattern.internal.naming" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.hamcrest.library" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest.text
Bundle-Version: 1.1.0.v20090501071000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.compatibility.plugins.feature.feature.group" version="1.0.0.v20150202-1328" singleton="false">
<update id="org.eclipse.osgi.compatibility.plugins.feature.feature.group" range="[0.0.0,1.0.0.v20150202-1328)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.osgi.compatibility.plugins.feature"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
<property name="df_LT.featureName" value="Eclipse 2.0 Style Plugin Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.description" value="Eclipse 2.0 Style Plugin Support for running old Eclipse plugins that are not proper OSGi bundles."/>
<property name="df_LT.copyright" value="Copyright (c) 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins.feature.feature.group" version="1.0.0.v20150202-1328"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins" range="[1.0.0.v20131023-1243,1.0.0.v20131023-1243]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins.feature.feature.jar" range="[1.0.0.v20150202-1328,1.0.0.v20150202-1328]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.cheatsheets.source" version="3.4.200.v20160416-0844" singleton="false">
<update id="org.eclipse.ui.cheatsheets.source" range="[0.0.0,3.4.200.v20160416-0844)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Cheat Sheets Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.cheatsheets"/>
<property name="maven-version" value="3.4.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cheatsheets.source" version="3.4.200.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets.source" version="3.4.200.v20160416-0844"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.cheatsheets.source" version="3.4.200.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.cheatsheets.source
Bundle-Version: 3.4.200.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.console" version="1.1.200.v20150929-1405" singleton="false">
<update id="org.eclipse.equinox.console" range="[0.0.0,1.1.200.v20150929-1405)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Console plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.console"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console" version="1.1.200.v20150929-1405"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.console" version="1.1.200.v20150929-1405"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.common" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.common.terminal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.completion.common" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="18">
<required namespace="osgi.bundle" name="org.apache.felix.gogo.runtime" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.apache.felix.gogo.shell" range="0.10.0"/>
<required namespace="java.package" name="org.apache.felix.service.command" range="0.8.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.report.resolution" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework.hooks.resolver" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework.namespace" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework.wiring" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.resource" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="[1.4.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.condpermadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.permissionadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.console" version="1.1.200.v20150929-1405"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.console
Bundle-Version: 1.1.200.v20150929-1405
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.examples.xml.source" version="3.4.0.v20160323-1742" singleton="false">
<update id="org.eclipse.compare.examples.xml.source" range="[0.0.0,3.4.0.v20160323-1742)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="XML Compare Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.examples.xml"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.xml.source" version="3.4.0.v20160323-1742"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.examples.xml.source" version="3.4.0.v20160323-1742"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.examples.xml.source" version="3.4.0.v20160323-1742"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.examples.xml.source
Bundle-Version: 3.4.0.v20160323-1742
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.expressions.source" version="3.5.100.v20160413-0851" singleton="false">
<update id="org.eclipse.core.expressions.source" range="[0.0.0,3.5.100.v20160413-0851)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Expression Language Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.expressions"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions.source" version="3.5.100.v20160413-0851"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.expressions.source" version="3.5.100.v20160413-0851"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.expressions.source" version="3.5.100.v20160413-0851"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.expressions.source
Bundle-Version: 3.5.100.v20160413-0851
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder}/../);
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}/../); chmod(targetDir:${installFolder}/../MacOS/, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.application" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.application" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="57">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.sdk.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.sdk.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Project SDK"/>
<property name="df_LT.description" value="SDK for Eclipse."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="20">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.feature.group" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.source.feature.group" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.source.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.source.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.group" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source.feature.group" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source.feature.group" range="[2.7.0,3.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source.feature.group" range="[2.7.0,3.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.source.feature.feature.group" range="[1.1.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" range="[3.8.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.core.tests.model" version="3.10.200.v20160417-1515">
<update id="org.eclipse.jdt.core.tests.model" range="[0.0.0,3.10.200.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Model Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.tests.model"/>
<property name="maven-version" value="3.10.200-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.model" version="3.10.200.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.model" version="3.10.200.v20160417-1515"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.extensions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.formatter.comment" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.rewrite.describing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.rewrite.modifying" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.compiler.apt.tests" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="3.4.4"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.tests.model" version="3.10.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.tests.model;singleton:=true
Bundle-Version: 3.10.200.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.harness" version="1.4.0.v20160329-1915">
<update id="org.eclipse.ui.tests.harness" range="[0.0.0,1.4.0.v20160329-1915)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Harness Plug-in"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.harness"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.harness" version="1.4.0.v20160329-1915"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.harness" version="1.4.0.v20160329-1915"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.harness" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.harness.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.harness.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.internal.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.harness" version="1.4.0.v20160329-1915"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.harness;singleton:=true
Bundle-Version: 1.4.0.v20160329-1915
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.security.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.security.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Security"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.security.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.security.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.security.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.httpclient4.source" version="1.1.100.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.httpclient4.source" range="[0.0.0,1.1.100.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF HttpComponents Filetransfer Provider Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.source" version="1.1.100.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4.source" version="1.1.100.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.httpclient4.source" version="1.1.100.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.httpclient4.source
Bundle-Version: 1.1.100.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.workbench.texteditor.source" version="3.10.0.v20160411-1621" singleton="false">
<update id="org.eclipse.ui.workbench.texteditor.source" range="[0.0.0,3.10.0.v20160411-1621)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Text Editor Framework Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.workbench.texteditor"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor.source" version="3.10.0.v20160411-1621"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor.source" version="3.10.0.v20160411-1621"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.workbench.texteditor.source" version="3.10.0.v20160411-1621"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.workbench.texteditor.source
Bundle-Version: 3.10.0.v20160411-1621
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.multipageeditor" version="3.2.300.v20151104-0051">
<update id="org.eclipse.ui.examples.multipageeditor" range="[0.0.0,3.2.300.v20151104-0051)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Multi-Page Editor Example"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.multipageeditor"/>
<property name="maven-version" value="3.2.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.multipageeditor" version="3.2.300.v20151104-0051"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.multipageeditor" version="3.2.300.v20151104-0051"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.multipageeditor" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.multipageeditor" version="3.2.300.v20151104-0051"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.multipageeditor; singleton:=true
Bundle-Version: 3.2.300.v20151104-0051
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.contexts.source" version="1.5.0.v20160319-0608" singleton="false">
<update id="org.eclipse.e4.core.contexts.source" range="[0.0.0,1.5.0.v20160319-0608)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Contexts Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.contexts"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.contexts.source" version="1.5.0.v20160319-0608"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.contexts.source" version="1.5.0.v20160319-0608"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.contexts.source" version="1.5.0.v20160319-0608"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.contexts.source
Bundle-Version: 1.5.0.v20160319-0608
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.ecore.source" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="EMF Ecore Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Modeling Project"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore.source" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore.source
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.property" version="1.6.0.v20160415-1410" singleton="false">
<update id="org.eclipse.core.databinding.property" range="[0.0.0,1.6.0.v20160415-1410)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding Properties"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.property"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.property" version="1.6.0.v20160415-1410"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.property" version="1.6.0.v20160415-1410"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.property" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.property.list" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.property.map" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.property.set" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.property.value" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.property" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.property.list" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.property.map" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.property.set" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.property.value" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="[1.3.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.property" version="1.6.0.v20160415-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.property
Bundle-Version: 1.6.0.v20160415-1410
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.resources.win32.x86" version="3.5.100.v20140124-1940">
<update id="org.eclipse.core.resources.win32.x86" range="[0.0.0,3.5.100.v20140124-1940)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="%win32FragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.resources.win32.x86"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.win32.x86" version="3.5.100.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.resources.win32.x86" version="3.5.100.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.resources" version="3.5.100.v20140124-1940"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.resources.win32.x86" version="3.5.100.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.resources.win32.x86;singleton:=true
Bundle-Version: 3.5.100.v20140124-1940
Fragment-Host: org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.metadata.source" version="2.3.100.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.metadata.source" range="[0.0.0,2.3.100.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Metadata Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.metadata"/>
<property name="maven-version" value="2.3.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.source" version="2.3.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.source" version="2.3.100.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.metadata.source" version="2.3.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.source
Bundle-Version: 2.3.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.j2se14" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.j2se14" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="J2SE-1.4 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentj2se14"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.j2se14"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se14" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.j2se14" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.j2se14" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.j2se14
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.addons.swt.source" version="1.2.0.v20160401-1236" singleton="false">
<update id="org.eclipse.e4.ui.workbench.addons.swt.source" range="[0.0.0,1.2.0.v20160401-1236)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 Workbench Add-ons Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.addons.swt"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.addons.swt.source" version="1.2.0.v20160401-1236"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.addons.swt.source" version="1.2.0.v20160401-1236"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.addons.swt.source" version="1.2.0.v20160401-1236"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.addons.swt.source
Bundle-Version: 1.2.0.v20160401-1236
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.touchpoint.natives.source" version="1.2.100.v20160104-2129" singleton="false">
<update id="org.eclipse.equinox.p2.touchpoint.natives.source" range="[0.0.0,1.2.100.v20160104-2129)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Native Touchpoint Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.touchpoint.natives"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives.source" version="1.2.100.v20160104-2129"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.natives.source" version="1.2.100.v20160104-2129"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.touchpoint.natives.source" version="1.2.100.v20160104-2129"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.natives.source
Bundle-Version: 1.2.100.v20160104-2129
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.svg" version="1.1.0.v201011041433" singleton="false">
<update id="org.w3c.dom.svg" range="[0.0.0,1.1.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C SVG DOM"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.svg" version="1.1.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.svg" version="1.1.0.v201011041433"/>
<provided namespace="java.package" name="org.w3c.dom.svg" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.w3c.dom.smil" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.svg" version="1.1.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.svg
Bundle-Version: 1.1.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.ui.source" version="3.11.200.v20160416-1825" singleton="false">
<update id="org.eclipse.debug.ui.source" range="[0.0.0,3.11.200.v20160416-1825)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Debug UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.ui"/>
<property name="maven-version" value="3.11.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.ui.source" version="3.11.200.v20160416-1825"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.ui.source" version="3.11.200.v20160416-1825"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.ui.source" version="3.11.200.v20160416-1825"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.ui.source
Bundle-Version: 3.11.200.v20160416-1825
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.configuration" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.configuration" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="126">
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse.t.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.s.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.l.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.m.pm, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="[0.0.0,1.0.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux PPC64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.ppc64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.ppc64"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.ppc64;singleton:=true
Bundle-Version: 1.0.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.svg.source" version="1.1.0.v201011041433" singleton="false">
<update id="org.w3c.dom.svg.source" range="[0.0.0,1.1.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C SVG DOM Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.svg.source" version="1.1.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.svg.source" version="1.1.0.v201011041433"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.svg.source" version="1.1.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.svg.source
Bundle-Version: 1.1.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.transforms.xslt.source" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.transforms.xslt.source" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="XSLT Transform Provider Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.transforms.xslt"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.xslt.source" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.transforms.xslt.source" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.transforms.xslt.source" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.transforms.xslt.source
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.win32.x86" version="1.0.300.v20130327-1442">
<update id="org.eclipse.equinox.security.win32.x86" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.fragmentName" value="Windows Data Protection services integration"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.win32.x86"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.win32.x86" version="1.0.300.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.security" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.win32.x86" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.win32.x86;singleton:=true
Bundle-Version: 1.0.300.v20130327-1442
Fragment-Host: org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.doc.user" version="4.7.0.v20151029-1349">
<update id="org.eclipse.platform.doc.user" range="[0.0.0,4.7.0.v20151029-1349)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Workbench User Guide"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.platform"/>
<property name="maven-artifactId" value="org.eclipse.platform.doc.user"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.doc.user" version="4.7.0.v20151029-1349"/>
<provided namespace="osgi.bundle" name="org.eclipse.platform.doc.user" version="4.7.0.v20151029-1349"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.platform.doc.user" version="4.7.0.v20151029-1349"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.platform.doc.user; singleton:=true
Bundle-Version: 4.7.0.v20151029-1349
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.x86" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.x86" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.x86"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.x86" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.x86" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.x86; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.frameworkadmin" version="2.0.200.v20150423-1455">
<update id="org.eclipse.equinox.frameworkadmin" range="[0.0.0,2.0.200.v20150423-1455)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Framework Admin"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.frameworkadmin"/>
<property name="maven-version" value="2.0.200-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin" version="2.0.200.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" version="2.0.200.v20150423-1455"/>
<provided namespace="java.package" name="org.eclipse.equinox.frameworkadmin" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.configuratormanipulator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.4.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.pluginconversion" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.frameworkadmin" version="2.0.200.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true
Bundle-Version: 2.0.200.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.webapp.source" version="3.7.0.v20160416-0844" singleton="false">
<update id="org.eclipse.help.webapp.source" range="[0.0.0,3.7.0.v20160416-0844)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Help System Webapp Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.webapp"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.webapp.source" version="3.7.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.webapp.source" version="3.7.0.v20160416-0844"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.webapp.source" version="3.7.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.webapp.source
Bundle-Version: 3.7.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the SSL support for the ECF FileTransfer API used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.ssl" range="[1.0.0.v20160312-0656,1.0.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.directorywatcher.source" version="1.1.100.v20150423-1455" singleton="false">
<update id="org.eclipse.equinox.p2.directorywatcher.source" range="[0.0.0,1.1.100.v20150423-1455)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Directory Watcher Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.directorywatcher"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher.source" version="1.1.100.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.directorywatcher.source" version="1.1.100.v20150423-1455"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.directorywatcher.source" version="1.1.100.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher.source
Bundle-Version: 1.1.100.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.jsp.jasper.registry.source" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.jsp.jasper.registry.source" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Jasper Jsp Registry Support Plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.jsp.jasper.registry"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry.source" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper.registry.source" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.jsp.jasper.registry.source" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper.registry.source
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare" version="3.6.0.v20160404-1158">
<update id="org.eclipse.compare" range="[0.0.0,3.6.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Compare Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare" version="3.6.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare" version="3.6.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.compare" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.contentmergeviewer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.internal.merge" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.internal.patch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.patch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.structuremergeviewer" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare.core" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare" version="3.6.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare; singleton:=true
Bundle-Version: 3.6.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.emf.editor3x.source" version="4.5.0.v20151104-1536" singleton="false">
<update id="org.eclipse.e4.tools.emf.editor3x.source" range="[0.0.0,4.5.0.v20151104-1536)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Editor3x Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.emf.editor3x"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.editor3x.source" version="4.5.0.v20151104-1536"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.emf.editor3x.source" version="4.5.0.v20151104-1536"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.emf.editor3x.source" version="4.5.0.v20151104-1536"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.emf.editor3x.source
Bundle-Version: 4.5.0.v20151104-1536
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.source" version="1.2.200.v20150715-1528" singleton="false">
<update id="org.eclipse.equinox.security.source" range="[0.0.0,1.2.200.v20150715-1528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Java Authentication and Authorization Service (JAAS) Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.source" version="1.2.200.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.source" version="1.2.200.v20150715-1528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.source" version="1.2.200.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.source
Bundle-Version: 1.2.200.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ltk.core.refactoring.source" version="3.7.0.v20160120-1732" singleton="false">
<update id="org.eclipse.ltk.core.refactoring.source" range="[0.0.0,3.7.0.v20160120-1732)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Refactoring Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.core.refactoring"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring.source" version="3.7.0.v20160120-1732"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring.source" version="3.7.0.v20160120-1732"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.core.refactoring.source" version="3.7.0.v20160120-1732"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.core.refactoring.source
Bundle-Version: 3.7.0.v20160120-1732
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.ssl.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the SSL support for the ECF FileTransfer API used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.ssl.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.ssl.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.e4.core.tools.feature.feature.jar" version="4.5.100.v20160414-1751">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 BestSolution.at, Soyatec and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;BestSolution.at - initial API and implementation&#10;Soytec - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse e4 Tools"/>
<property name="df_LT.description" value="Eclipse e4 Model Tooling"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.tools.feature"/>
<property name="maven-version" value="4.5.100-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.feature.jar" version="4.5.100.v20160414-1751"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.e4.core.tools.feature" version="4.5.100.v20160414-1751"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.e4.core.tools.feature" version="4.5.100.v20160414-1751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.tools.compat.source" version="4.5.0.v20160122-0831" singleton="false">
<update id="org.eclipse.e4.tools.compat.source" range="[0.0.0,4.5.0.v20160122-0831)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Compat Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.compat"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.compat.source" version="4.5.0.v20160122-0831"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.compat.source" version="4.5.0.v20160122-0831"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.compat.source" version="4.5.0.v20160122-0831"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.compat.source
Bundle-Version: 4.5.0.v20160122-0831
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples.feature.group" version="3.5.600.v20160417-1515" singleton="false">
<update id="org.eclipse.sdk.examples.feature.group" range="[0.0.0,3.5.600.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Examples"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.feature.group" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples" range="[3.2.0.v20160323-1650,3.2.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.xml" range="[3.4.0.v20160323-1742,3.4.0.v20160323-1742]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.core" range="[1.4.0.v20150911-0751,1.4.0.v20150911-0751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.ui" range="[1.5.0.v20150305-0941,1.5.0.v20150305-0941]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.examples.databinding" range="[1.0.300.v20160411-1445,1.0.300.v20160411-1445]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples" range="[3.105.0.v20160401-0731,3.105.0.v20160401-0731]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.views" range="[3.105.0.v20150928-1000,3.105.0.v20150928-1000]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.browser.demos" range="[3.105.0.v20160115-0826,3.105.0.v20160115-0826]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.launcher" range="[3.105.0.v20151111-1312,3.105.0.v20151111-1312]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.javaeditor" range="[3.2.0.v20151201-1259,3.2.0.v20151201-1259]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.multipageeditor" range="[3.2.300.v20151104-0051,3.2.300.v20151104-0051]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.propertysheet" range="[3.2.400.v20160329-2017,3.2.400.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.readmetool" range="[3.4.0.v20160329-2017,3.4.0.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.contributions" range="[3.4.0.v20160401-0528,3.4.0.v20160401-0528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.undo" range="[3.2.301.v20160329-2017,3.2.301.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.views.properties.tabbed.article" range="[3.2.1.v20160330-1438,3.2.1.v20160330-1438]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.fieldassist" range="[1.1.100.v20160330-1439,1.1.100.v20160330-1439]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.examples.filesystem" range="[3.5.0.v20160323-1650,3.5.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.ole.win32" range="[3.105.0.v20150928-1000,3.105.0.v20150928-1000]">
<filter>
            (osgi.ws=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.feature.jar" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples_root" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.server.jetty.feature.jar" version="1.3.0.v20160413-1503">
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="Jetty Http Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.jetty"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.jetty.feature.jar" version="1.3.0.v20160413-1503"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.server.jetty" version="1.3.0.v20160413-1503"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.server.jetty" version="1.3.0.v20160413-1503"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.resources" version="3.11.0.v20160325-1842">
<update id="org.eclipse.core.resources" range="[0.0.0,3.11.0.v20160325-1842)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Core Resource Management"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.resources"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="22">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources" version="3.11.0.v20160325-1842"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.resources" version="3.11.0.v20160325-1842"/>
<provided namespace="java.package" name="org.eclipse.core.internal.dtree" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.localstore" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.propertytester" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.refresh" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.resources.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.resources.projectvariables" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.resources.refresh.win32" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.watson" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources.filtermatchers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources.refresh" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources.team" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.resources.variableresolvers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.1.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.12.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.resources" version="3.11.0.v20160325-1842"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.resources; singleton:=true
Bundle-Version: 3.11.0.v20160325-1842
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.rcp.feature.group" version="1.5.0.v20160415-1410" singleton="false">
<update id="org.eclipse.e4.rcp.feature.group" range="[0.0.0,1.5.0.v20160415-1410)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.e4.feature"/>
<property name="maven-artifactId" value="org.eclipse.e4.rcp"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2016 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse 4 Rich Client Platform"/>
<property name="df_LT.description" value="The bundles typical required by Eclipse RCP applications as of version 4.0"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.feature.group" version="1.5.0.v20160415-1410"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="95">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.feature.group" range="[2.7.0,3.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.feature.group" range="[2.7.0,3.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.services" range="[2.0.0.v20160319-0607,2.0.0.v20160319-0607]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.swt" range="[0.14.0.v20160411-2100,0.14.0.v20160411-2100]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands" range="[0.11.0.v20160408-1229,0.11.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings" range="[0.11.0.v20160310-1055,0.11.0.v20160310-1055]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.model.workbench" range="[1.2.0.v20160229-1459,1.2.0.v20160229-1459]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.services" range="[1.2.0.v20160408-1229,1.2.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt" range="[0.14.0.v20160414-0710,0.14.0.v20160414-0710]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench" range="[1.4.0.v20160408-1229,1.4.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.core" range="[0.11.0.v20160414-1245,0.11.0.v20160414-1245]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt" range="[0.12.0.v20160412-1804,0.12.0.v20160412-1804]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.css" range="[1.7.0.v201011041433,1.7.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.css.sac" range="[1.3.1.v200903091627,1.3.1.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util" range="[1.7.0.v201011041433,1.7.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.svg" range="[1.1.0.v201011041433,1.1.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.smil" range="[1.0.1.v200903091627,1.0.1.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.events" range="[3.0.0.draft20060413_v201105210656,3.0.0.draft20060413_v201105210656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.inject" range="[1.0.0.v20091030,1.0.0.v20091030]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.annotation" range="[1.2.0.v201602091430,1.2.0.v201602091430]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di" range="[1.6.0.v20160319-0612,1.6.0.v20160319-0612]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.contexts" range="[1.5.0.v20160319-0608,1.5.0.v20160319-0608]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.gui" range="[1.7.0.v200903091627,1.7.0.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.xml" range="[1.3.4.v201005080400,1.3.4.v201005080400]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.extensions" range="[0.14.0.v20160211-1614,0.14.0.v20160211-1614]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.theme" range="[0.10.0.v20160401-0625,0.10.0.v20160401-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.di" range="[1.1.0.v20150922-1735,1.1.0.v20150922-1735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.widgets" range="[1.1.0.v20150813-1519,1.1.0.v20150813-1519]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" range="[0.11.300.v20160330-1418,0.11.300.v20160330-1418]">
<filter>
            (&amp;(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.commands" range="[3.8.0.v20160316-1921,3.8.0.v20160316-1921]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.contenttype" range="[3.5.100.v20160319-0604,3.5.100.v20160319-0604]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding" range="[1.6.0.v20160412-0910,1.6.0.v20160412-0910]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.beans" range="[1.3.0.v20160226-1513,1.3.0.v20160226-1513]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.observable" range="[1.6.0.v20160331-0824,1.6.0.v20160331-0824]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.property" range="[1.6.0.v20160415-1410,1.6.0.v20160415-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions" range="[3.5.100.v20160413-0851,3.5.100.v20160413-0851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs" range="[3.8.0.v20160319-0610,3.8.0.v20160319-0610]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" range="[3.12.0.v20160329-1217,3.12.0.v20160329-1217]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.ibm.icu" range="[56.1.0.v201601250100,56.1.0.v201601250100]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390x" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64le" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.hpux.ia64" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface" range="[3.12.0.v20160411-2246,3.12.0.v20160411-2246]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.databinding" range="[1.8.0.v20160329-1916,1.8.0.v20160329-1916]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench3" range="[0.13.0.v20150727-1801,0.13.0.v20150727-1801]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command" range="[0.10.0.v201209301215,0.10.0.v201209301215]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime" range="[0.10.0.v201209301036,0.10.0.v201209301036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell" range="[0.10.0.v201212101605,0.10.0.v201212101605]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console" range="[1.1.200.v20150929-1405,1.1.200.v20150929-1405]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.addons.swt" range="[1.2.0.v20160401-1236,1.2.0.v20160401-1236]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi" range="[1.0.0.v20160307-1318,1.0.0.v20160307-1318]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.dialogs" range="[1.1.0.v20151127-1218,1.1.0.v20151127-1218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.jxpath" range="[1.3.0.v200911051830,1.3.0.v200911051830]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.emf.xpath" range="[0.1.100.v20151005-1655,0.1.100.v20151005-1655]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.annotations" range="[1.5.0.v20151127-1241,1.5.0.v20151127-1241]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.swt.gtk" range="[1.0.100.v20160301-1001,1.0.100.v20160301-1001]">
<filter>
            (osgi.ws=gtk)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.feature.jar" range="[1.5.0.v20160415-1410,1.5.0.v20160415-1410]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.0.400.v20160129-1529" singleton="false">
<update id="org.eclipse.equinox.p2.discovery.feature.feature.group" range="[0.0.0,1.0.400.v20160129-1529)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery.feature"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 Tasktop Technologies and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;Tasktop Technologies - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, Discovery UI support"/>
<property name="df_LT.description" value="All of the bundles that comprise Equinox p2 discovery. &#10;This feature is intended to be used by integrators building on discovery."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.0.400.v20160129-1529"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery" range="[1.0.300.v20131210-1027,1.0.300.v20131210-1027]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.compatibility" range="[1.0.200.v20131211-1531,1.0.200.v20131211-1531]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.discovery" range="[1.0.100.v20150907-2149,1.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.feature.feature.jar" range="[1.0.400.v20160129-1529,1.0.400.v20160129-1529]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.di" version="1.1.0.v20150922-1735" singleton="false">
<update id="org.eclipse.e4.ui.di" range="[0.0.0,1.1.0.v20150922-1735)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse UI Dependency Injection"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.di"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.di" version="1.1.0.v20150922-1735"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.di" version="1.1.0.v20150922-1735"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.di" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.di" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.13.200"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="[3.2.100,4.0.0)"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.di" version="1.1.0.v20150922-1735"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.di
Bundle-Version: 1.1.0.v20150922-1735
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.tests.compiler" version="3.12.200.v20160414-0528">
<update id="org.eclipse.jdt.core.tests.compiler" range="[0.0.0,3.12.200.v20160414-0528)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Compiler Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.tests.compiler"/>
<property name="maven-version" value="3.12.200-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.compiler" version="3.12.200.v20160414-0528"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" version="3.12.200.v20160414-0528"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.compiler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.compiler.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.compiler.regression" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.eval.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.junit.extension" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.junit" range="3.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.dispatch" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.tests.compiler" version="3.12.200.v20160414-0528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.tests.compiler;singleton:=true
Bundle-Version: 3.12.200.v20160414-0528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.core.source" version="2.4.100.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.core.source" range="[0.0.0,2.4.100.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.source" version="2.4.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.core.source" version="2.4.100.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.core.source" version="2.4.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.core.source
Bundle-Version: 2.4.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.ppc64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.jobs.source" version="3.8.0.v20160319-0610" singleton="false">
<update id="org.eclipse.core.jobs.source" range="[0.0.0,3.8.0.v20160319-0610)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Jobs Mechanism Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.jobs"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs.source" version="3.8.0.v20160319-0610"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.jobs.source" version="3.8.0.v20160319-0610"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.jobs.source" version="3.8.0.v20160319-0610"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.jobs.source
Bundle-Version: 3.8.0.v20160319-0610
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.win32.x86_64" version="1.4.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.win32.x86_64" range="[0.0.0,1.4.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Windows 64 bit"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.win32.x86_64"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.win32.x86_64" version="1.4.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.win32.x86_64" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.4.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.win32.x86_64" version="1.4.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.win32.x86_64; singleton:=true
Bundle-Version: 1.4.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.4.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="1.1.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="1.1.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.core.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.core.ssl.source.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Core SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF core SSL fragment.  On Equinox-based frameworks, this fragment exposes the Equinox TrustManager to ECF FileTransfer and other ECF-based communications."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.ssl.source" range="[1.2.0.v20160312-0656,1.2.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.source.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.jsch.ui" version="1.3.0.v20160323-1650">
<update id="org.eclipse.jsch.ui" range="[0.0.0,1.3.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JSch UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jsch"/>
<property name="maven-artifactId" value="org.eclipse.jsch.ui"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.ui" version="1.3.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.jsch.ui" version="1.3.0.v20160323-1650"/>
<provided namespace="java.package" name="org.eclipse.jsch.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jsch.internal.ui.authenticator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jsch.internal.ui.preference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jsch.ui" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jsch.core" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="com.jcraft.jsch" range="[0.1.50,1.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jsch.ui" version="1.3.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jsch.ui;singleton:=true
Bundle-Version: 1.3.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.simpleconfigurator" version="1.1.100.v20150907-2149">
<update id="org.eclipse.equinox.simpleconfigurator" range="[0.0.0,1.1.100.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Simple Configurator"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.simpleconfigurator"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" version="1.1.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" version="1.1.100.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.configurator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator.utils" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.framework.namespace" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework.wiring" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.resource" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.simpleconfigurator" version="1.1.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator;singleton:=true
Bundle-Version: 1.1.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.core" version="3.4.0.v20160404-1158">
<update id="org.eclipse.team.cvs.core" range="[0.0.0,3.4.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="CVS Team Provider Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.core"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.core" version="3.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.core" version="3.4.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.client" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.client.listeners" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.connection" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.filehistory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.syncinfo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.core.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
<required namespace="osgi.bundle" name="com.jcraft.jsch" range="[0.1.50,1.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jsch.core" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.core" version="3.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.core; singleton:=true
Bundle-Version: 3.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.launching.source" version="1.1.200.v20160203-1238" singleton="false">
<update id="org.eclipse.ant.launching.source" range="[0.0.0,1.1.200.v20160203-1238)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Ant Launching Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.launching"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.launching.source" version="1.1.200.v20160203-1238"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.launching.source" version="1.1.200.v20160203-1238"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.launching.source" version="1.1.200.v20160203-1238"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.launching.source
Bundle-Version: 1.1.200.v20160203-1238
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.servlet" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.servlet" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Servlet Handling"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Servlet Handling"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.servlet" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.servlet" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.servlet.jmx" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.servlet.listener" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.annotation" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.http" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.io" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.jmx" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.security" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.handler" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.handler.gzip" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.session" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.util.annotation" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.util.component" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.util.resource" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.servlet" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.servlet
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.annotation.source" version="2.1.0.v20160320-2244" singleton="false">
<update id="org.eclipse.jdt.annotation.source" range="[0.0.0,2.1.0.v20160320-2244)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JDT Annotations for Enhanced Null Analysis Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.annotation"/>
<property name="maven-version" value="2.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation.source" version="2.1.0.v20160320-2244"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.annotation.source" version="2.1.0.v20160320-2244"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.annotation.source" version="2.1.0.v20160320-2244"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.annotation.source
Bundle-Version: 2.1.0.v20160320-2244
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.configuration" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.configuration" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="84">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.console.source" version="1.0.400.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.console.source" range="[0.0.0,1.0.400.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Console Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.console"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console.source" version="1.0.400.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.console.source" version="1.0.400.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.console.source" version="1.0.400.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.console.source
Bundle-Version: 1.0.400.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Httpclient4 Filetransfer SSL Provider"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the SSL support for the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ui.examples.javaeditor" version="3.2.0.v20151201-1259">
<update id="org.eclipse.ui.examples.javaeditor" range="[0.0.0,3.2.0.v20151201-1259)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Text Example"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.javaeditor"/>
<property name="maven-version" value="3.2.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.javaeditor" version="3.2.0.v20151201-1259"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.javaeditor" version="3.2.0.v20151201-1259"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.javaeditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.javaeditor.java" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.javaeditor.javadoc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.javaeditor.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.templateeditor.editors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.templateeditor.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.templateeditor.template" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.javaeditor" version="3.2.0.v20151201-1259"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.javaeditor; singleton:=true
Bundle-Version: 3.2.0.v20151201-1259
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer" version="5.0.0.v20160312-0656">
<update id="org.eclipse.ecf.filetransfer" range="[0.0.0,5.0.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Filetransfer API"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer" version="5.0.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer" version="5.0.0.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer" version="5.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer.events" version="5.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer.events.socket" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer.events.socketfactory" version="5.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer.identity" version="5.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.filetransfer.service" version="5.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.filetransfer" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.url" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.filetransfer" version="5.0.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.filetransfer;singleton:=true
Bundle-Version: 5.0.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.doc.isv" version="3.12.0.v20160316-1653">
<update id="org.eclipse.jdt.doc.isv" range="[0.0.0,3.12.0.v20160316-1653)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse JDT Plug-in Developer Guide"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.doc.isv"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.doc.isv" version="3.12.0.v20160316-1653"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.doc.isv" version="3.12.0.v20160316-1653"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.doc.isv" version="3.12.0.v20160316-1653"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.doc.isv; singleton:=true
Bundle-Version: 3.12.0.v20160316-1653
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.tests.harness" version="3.11.0.v20160319-0534">
<update id="org.eclipse.core.tests.harness" range="[0.0.0,3.11.0.v20160319-0534)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Core Tests Harness"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.tests.harness"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.harness" version="3.11.0.v20160319-0534"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.tests.harness" version="3.11.0.v20160319-0534"/>
<provided namespace="java.package" name="org.eclipse.core.tests.harness" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.session" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.session.samples" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.tests.harness" version="3.11.0.v20160319-0534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.tests.harness;singleton:=true
Bundle-Version: 3.11.0.v20160319-0534
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.base" version="4.1.0.v20160417-1515">
<update id="org.eclipse.help.base" range="[0.0.0,4.1.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.help_base_plugin_name" value="Help System Base"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%help_base_plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.base"/>
<property name="maven-version" value="4.1.0-SNAPSHOT"/>
</properties>
<provides size="24">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.base" version="4.1.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.base" version="4.1.0.v20160417-1515"/>
<provided namespace="java.package" name="org.apache.lucene.demo.html" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.base" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.base" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.base.remote" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.base.scope" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.base.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.browser.macosx" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.protocols" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.search.federated" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.server" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.standalone" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.validation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.workingset" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.internal.xhtml" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.server" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.standalone" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="3.2.200" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.apache.lucene.analysis" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.apache.lucene.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.2.200"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.http.jetty" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.base" version="4.1.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.base; singleton:=true
Bundle-Version: 4.1.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.fileupload" version="1.2.2.v20111214-1400" singleton="false">
<update id="org.apache.commons.fileupload" range="[0.0.0,1.2.2.v20111214-1400)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Commons FileUpload"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.fileupload" version="1.2.2.v20111214-1400"/>
<provided namespace="osgi.bundle" name="org.apache.commons.fileupload" version="1.2.2.v20111214-1400"/>
<provided namespace="java.package" name="org.apache.commons.fileupload" version="1.2.2"/>
<provided namespace="java.package" name="org.apache.commons.fileupload.disk" version="1.2.2"/>
<provided namespace="java.package" name="org.apache.commons.fileupload.portlet" version="1.2.2"/>
<provided namespace="java.package" name="org.apache.commons.fileupload.servlet" version="1.2.2"/>
<provided namespace="java.package" name="org.apache.commons.fileupload.util" version="1.2.2"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="java.package" name="javax.servlet" range="2.3.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.3.0"/>
<required namespace="java.package" name="org.apache.commons.io" range="1.3.0"/>
<required namespace="java.package" name="org.apache.commons.io.output" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.fileupload" version="1.2.2.v20111214-1400"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.fileupload
Bundle-Version: 1.2.2.v20111214-1400
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.wireadmin" version="1.0.600.v20150715-1528" singleton="false">
<update id="org.eclipse.equinox.wireadmin" range="[0.0.0,1.0.600.v20150715-1528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Wire Admin Service"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="This bundle provides utility classes for Producer and Consumer services."/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.wireadmin"/>
<property name="maven-version" value="1.0.600-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.wireadmin" version="1.0.600.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.wireadmin" version="1.0.600.v20150715-1528"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.wireadmin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="java.package" name="org.eclipse.equinox.internal.util.hash" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.ref" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.service.wireadmin" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.wireadmin" version="1.0.600.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.wireadmin
Bundle-Version: 1.0.600.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.admin.rcp" version="1.0.200.v20150220-1741">
<update id="org.eclipse.equinox.p2.ui.admin.rcp" range="[0.0.0,1.0.200.v20150220-1741)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Provisioning Admin UI RCP (Incubation)"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.admin.rcp"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.rcp" version="1.0.200.v20150220-1741"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.admin.rcp" version="1.0.200.v20150220-1741"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.admin.rcp" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.admin.rcp" version="1.0.200.v20150220-1741"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin.rcp; singleton:=true
Bundle-Version: 1.0.200.v20150220-1741
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20130327-1442">
<update id="org.eclipse.equinox.http.servletbridge" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Servletbridge Http Service"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.servletbridge"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="javax.servlet" range="2.3.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.3.0"/>
<required namespace="java.package" name="org.eclipse.equinox.http.servlet" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.servletbridge" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.servletbridge" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.servletbridge;singleton:=true
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.batik.css.source" version="1.7.0.v201011041433" singleton="false">
<update id="org.apache.batik.css.source" range="[0.0.0,1.7.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik CSS Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.css.source" version="1.7.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.apache.batik.css.source" version="1.7.0.v201011041433"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.css.source" version="1.7.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.css.source
Bundle-Version: 1.7.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.change" version="2.11.0.v20160315-0423">
<update id="org.eclipse.emf.ecore.change" range="[0.0.0,2.11.0.v20160315-0423)" severity="0"/>
<properties size="5">
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.pluginName" value="EMF Change Model"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.change" version="2.11.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore.change" version="2.11.0.v20160315-0423"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.change" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.change.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.change.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)" optional="true"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="[2.12.0,3.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore.change" version="2.11.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore.change;singleton:=true
Bundle-Version: 2.11.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.text.tests" version="3.12.0.v20160321-0744">
<update id="org.eclipse.jdt.text.tests" range="[0.0.0,3.12.0.v20160321-0744)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="JDT Text Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.text.tests"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.text.tests" version="3.12.0.v20160321-0744"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.text.tests" version="3.12.0.v20160321-0744"/>
<provided namespace="java.package" name="org.eclipse.jdt.text.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.text.tests.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.text.tests.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.text.tests.spelling" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.text.tests.templates" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="20">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.text.tests" version="3.12.0.v20160321-0744"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.text.tests;singleton:=true
Bundle-Version: 3.12.0.v20160321-0744
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.xmi" version="2.12.0.v20160315-0423">
<update id="org.eclipse.emf.ecore.xmi" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="5">
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.pluginName" value="EMF XML/XMI Persistence"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.xmi" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" version="2.12.0.v20160315-0423"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xmi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xmi.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xmi.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)" optional="true"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="[2.12.0,3.0.0)"/>
<required namespace="java.package" name="javax.xml.namespace" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.ext" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore.xmi" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore.xmi; singleton:=true
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples.source.feature.group" version="3.5.600.v20160417-1515" singleton="false">
<update id="org.eclipse.sdk.examples.source.feature.group" range="[0.0.0,3.5.600.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Examples Source"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source.feature.group" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.feature.group" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.source" range="[3.2.0.v20160323-1650,3.2.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.xml.source" range="[3.4.0.v20160323-1742,3.4.0.v20160323-1742]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.core.source" range="[1.4.0.v20150911-0751,1.4.0.v20150911-0751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.ui.source" range="[1.5.0.v20150305-0941,1.5.0.v20150305-0941]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.examples.databinding.source" range="[1.0.300.v20160411-1445,1.0.300.v20160411-1445]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.source" range="[3.105.0.v20160401-0731,3.105.0.v20160401-0731]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.views.source" range="[3.105.0.v20150928-1000,3.105.0.v20150928-1000]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.browser.demos.source" range="[3.105.0.v20160115-0826,3.105.0.v20160115-0826]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.launcher.source" range="[3.105.0.v20151111-1312,3.105.0.v20151111-1312]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.javaeditor.source" range="[3.2.0.v20151201-1259,3.2.0.v20151201-1259]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.multipageeditor.source" range="[3.2.300.v20151104-0051,3.2.300.v20151104-0051]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.propertysheet.source" range="[3.2.400.v20160329-2017,3.2.400.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.readmetool.source" range="[3.4.0.v20160329-2017,3.4.0.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.contributions.source" range="[3.4.0.v20160401-0528,3.4.0.v20160401-0528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.undo.source" range="[3.2.301.v20160329-2017,3.2.301.v20160329-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.views.properties.tabbed.article.source" range="[3.2.1.v20160330-1438,3.2.1.v20160330-1438]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.fieldassist.source" range="[1.1.100.v20160330-1439,1.1.100.v20160330-1439]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.examples.filesystem.source" range="[3.5.0.v20160323-1650,3.5.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.ole.win32.source" range="[3.105.0.v20150928-1000,3.105.0.v20150928-1000]">
<filter>
            (osgi.ws=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source.feature.jar" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.ppc64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc64;singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.transport.ecf" version="1.1.100.v20150521-1342" singleton="false">
<update id="org.eclipse.equinox.p2.transport.ecf" range="[0.0.0,1.1.100.v20150521-1342)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning ECF based Transport"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.transport.ecf"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf" version="1.1.100.v20150521-1342"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.transport.ecf" version="1.1.100.v20150521-1342"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.transport.ecf" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer" range="4.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="2.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="2.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="3.5.100"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.transport.ecf" version="1.1.100.v20150521-1342"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.transport.ecf
Bundle-Version: 1.1.100.v20150521-1342
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.application" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.application" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="57">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.director" version="2.3.200.v20150907-2149">
<update id="org.eclipse.equinox.p2.director" range="[0.0.0,2.3.200.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Director"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.director"/>
<property name="maven-version" value="2.3.200-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director" version="2.3.200.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" version="2.3.200.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.director" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.rollback" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.planner" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.sat4j.core" range="[2.3.5,3.0.0)"/>
<required namespace="osgi.bundle" name="org.sat4j.pb" range="[2.3.5,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.director" version="2.3.200.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true
Bundle-Version: 2.3.200.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.javase17" version="1.0.100.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.javase17" range="[0.0.0,1.0.100.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="JavaSE-1.7 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentjavase17"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.javase17"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase17" version="1.0.100.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.javase17" version="1.0.100.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.100.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.javase17" version="1.0.100.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.javase17
Bundle-Version: 1.0.100.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.solaris.x86_64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.solaris.x86_64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.solaris.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.solaris.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.solaris.x86_64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.solaris.x86_64; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.x86" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.x86" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.x86" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="a.jre.javase" version="1.6.0" singleton="false">
<provides size="171">
<provided namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" version="1.6.0"/>
<provided namespace="java.package" name="javax.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="javax.activation" version="0.0.0"/>
<provided namespace="java.package" name="javax.activity" version="0.0.0"/>
<provided namespace="java.package" name="javax.annotation" version="0.0.0"/>
<provided namespace="java.package" name="javax.annotation.processing" version="0.0.0"/>
<provided namespace="java.package" name="javax.crypto" version="0.0.0"/>
<provided namespace="java.package" name="javax.crypto.interfaces" version="0.0.0"/>
<provided namespace="java.package" name="javax.crypto.spec" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.event" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.metadata" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.plugins.bmp" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.plugins.jpeg" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.imageio.stream" version="0.0.0"/>
<provided namespace="java.package" name="javax.jws" version="0.0.0"/>
<provided namespace="java.package" name="javax.jws.soap" version="0.0.0"/>
<provided namespace="java.package" name="javax.lang.model" version="0.0.0"/>
<provided namespace="java.package" name="javax.lang.model.element" version="0.0.0"/>
<provided namespace="java.package" name="javax.lang.model.type" version="0.0.0"/>
<provided namespace="java.package" name="javax.lang.model.util" version="0.0.0"/>
<provided namespace="java.package" name="javax.management" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.loading" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.modelmbean" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.monitor" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.openmbean" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.relation" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.remote" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.remote.rmi" version="0.0.0"/>
<provided namespace="java.package" name="javax.management.timer" version="0.0.0"/>
<provided namespace="java.package" name="javax.naming" version="0.0.0"/>
<provided namespace="java.package" name="javax.naming.directory" version="0.0.0"/>
<provided namespace="java.package" name="javax.naming.event" version="0.0.0"/>
<provided namespace="java.package" name="javax.naming.ldap" version="0.0.0"/>
<provided namespace="java.package" name="javax.naming.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.net" version="0.0.0"/>
<provided namespace="java.package" name="javax.net.ssl" version="0.0.0"/>
<provided namespace="java.package" name="javax.print" version="0.0.0"/>
<provided namespace="java.package" name="javax.print.attribute" version="0.0.0"/>
<provided namespace="java.package" name="javax.print.attribute.standard" version="0.0.0"/>
<provided namespace="java.package" name="javax.print.event" version="0.0.0"/>
<provided namespace="java.package" name="javax.rmi" version="0.0.0"/>
<provided namespace="java.package" name="javax.rmi.CORBA" version="0.0.0"/>
<provided namespace="java.package" name="javax.rmi.ssl" version="0.0.0"/>
<provided namespace="java.package" name="javax.script" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth.callback" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth.kerberos" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth.login" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.auth.x500" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.cert" version="0.0.0"/>
<provided namespace="java.package" name="javax.security.sasl" version="0.0.0"/>
<provided namespace="java.package" name="javax.sound.midi" version="0.0.0"/>
<provided namespace="java.package" name="javax.sound.midi.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.sound.sampled" version="0.0.0"/>
<provided namespace="java.package" name="javax.sound.sampled.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.sql" version="0.0.0"/>
<provided namespace="java.package" name="javax.sql.rowset" version="0.0.0"/>
<provided namespace="java.package" name="javax.sql.rowset.serial" version="0.0.0"/>
<provided namespace="java.package" name="javax.sql.rowset.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.border" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.colorchooser" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.event" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.filechooser" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.plaf" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.plaf.basic" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.plaf.metal" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.plaf.multi" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.plaf.synth" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.table" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.text" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.text.html" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.text.html.parser" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.text.rtf" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.tree" version="0.0.0"/>
<provided namespace="java.package" name="javax.swing.undo" version="0.0.0"/>
<provided namespace="java.package" name="javax.tools" version="0.0.0"/>
<provided namespace="java.package" name="javax.transaction" version="0.0.0"/>
<provided namespace="java.package" name="javax.transaction.xa" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind.annotation" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind.annotation.adapters" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind.attachment" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind.helpers" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.bind.util" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto.dom" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto.dsig" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto.dsig.dom" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto.dsig.keyinfo" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.crypto.dsig.spec" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.datatype" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.namespace" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.parsers" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.soap" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.stream" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.stream.events" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.stream.util" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.transform" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.transform.dom" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.transform.sax" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.transform.stax" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.transform.stream" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.validation" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.handler" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.handler.soap" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.http" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.soap" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.spi" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.ws.wsaddressing" version="0.0.0"/>
<provided namespace="java.package" name="javax.xml.xpath" version="0.0.0"/>
<provided namespace="java.package" name="org.ietf.jgss" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA_2_3" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA_2_3.portable" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA.DynAnyPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA.ORBPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA.portable" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CORBA.TypeCodePackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CosNaming" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CosNaming.NamingContextExtPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.CosNaming.NamingContextPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.Dynamic" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.DynamicAny" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.DynamicAny.DynAnyFactoryPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.DynamicAny.DynAnyPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.IOP" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.IOP.CodecFactoryPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.IOP.CodecPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.Messaging" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableInterceptor" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableInterceptor.ORBInitInfoPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer.CurrentPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer.POAManagerPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer.POAPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer.portable" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.PortableServer.ServantLocatorPackage" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.SendingContext" version="0.0.0"/>
<provided namespace="java.package" name="org.omg.stub.java.rmi" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.bootstrap" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.css" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.events" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.html" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.ls" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.ranges" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.stylesheets" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.traversal" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.views" version="0.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.xpath" version="0.0.0"/>
<provided namespace="java.package" name="org.xml.sax" version="0.0.0"/>
<provided namespace="java.package" name="org.xml.sax.ext" version="0.0.0"/>
<provided namespace="java.package" name="org.xml.sax.helpers" version="0.0.0"/>
<provided namespace="osgi.ee" name="OSGi/Minimum" version="1.0.0"/>
<provided namespace="osgi.ee" name="OSGi/Minimum" version="1.1.0"/>
<provided namespace="osgi.ee" name="OSGi/Minimum" version="1.2.0"/>
<provided namespace="osgi.ee" name="JRE" version="1.0.0"/>
<provided namespace="osgi.ee" name="JRE" version="1.1.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.0.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.1.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.2.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.3.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.4.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.5.0"/>
<provided namespace="osgi.ee" name="JavaSE" version="1.6.0"/>
</provides>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.platform.ide.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.bindings" version="0.11.0.v20160310-1055">
<update id="org.eclipse.e4.ui.bindings" range="[0.0.0,0.11.0.v20160310-1055)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Bindings Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.bindings"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings" version="0.11.0.v20160310-1055"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" version="0.11.0.v20160310-1055"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.bindings" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.bindings.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.bindings.keys" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.1.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.commands" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.commands.internal" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.services.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings.keys" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings.keys.formatting" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.dialogs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.window" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.bindings" version="0.11.0.v20160310-1055"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.bindings;singleton:=true
Bundle-Version: 0.11.0.v20160310-1055
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jsch.ui.source" version="1.3.0.v20160323-1650" singleton="false">
<update id="org.eclipse.jsch.ui.source" range="[0.0.0,1.3.0.v20160323-1650)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JSch UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jsch"/>
<property name="maven-artifactId" value="org.eclipse.jsch.ui"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.ui.source" version="1.3.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.jsch.ui.source" version="1.3.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jsch.ui.source" version="1.3.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jsch.ui.source
Bundle-Version: 1.3.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp_root" version="4.7.0.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp_root" version="4.7.0.v20160417-1515"/>
</provides>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp_root" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.releng.tests" version="3.3.0.v20160324-2144">
<update id="org.eclipse.releng.tests" range="[0.0.0,3.3.0.v20160324-2144)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Eclipse Releng Tests"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.releng"/>
<property name="maven-artifactId" value="org.eclipse.releng.tests"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tests" version="3.3.0.v20160324-2144"/>
<provided namespace="osgi.bundle" name="org.eclipse.releng.tests" version="3.3.0.v20160324-2144"/>
<provided namespace="java.package" name="org.eclipse.releng.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jgit" range="3.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.egit.core" range="3.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.releng.tools" range="3.6.100"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.releng.tests" version="3.3.0.v20160324-2144"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.releng.tests;singleton:=true
Bundle-Version: 3.3.0.v20160324-2144
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.configuration" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.configuration" version="1.0.0"/>
</provides>
<filter>
        (!(osgi.os=macosx))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.s390x" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux s390x Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.s390x"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.s390x"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.0.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.s390x;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.hpux.ia64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.hpux.ia64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.hpux.ia64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.hpux.ia64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.hpux.ia64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.hpux.ia64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.hpux.ia64; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ui.templates" version="3.6.0.v20160414-0914">
<update id="org.eclipse.pde.ui.templates" range="[0.0.0,3.6.0.v20160414-0914)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE Templates"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ui.templates"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.templates" version="3.6.0.v20160414-0914"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ui.templates" version="3.6.0.v20160414-0914"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.templates.e4" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.templates.ide" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.templates.osgi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.templates.rcp" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="3.11.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ui.templates" version="3.6.0.v20160414-0914"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ui.templates;singleton:=true
Bundle-Version: 3.6.0.v20160414-0914
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ui" version="3.9.0.v20160415-1056">
<update id="org.eclipse.pde.ui" range="[0.0.0,3.9.0.v20160415-1056)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="PDE UI"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ui"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="64">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui" version="3.9.0.v20160415-1056"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ui" version="3.9.0.v20160415-1056"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.compare" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.correction" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.correction.java" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.category" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.contentassist.display" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.context" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.feature" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.outline" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.plugin.rows" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.product" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.schema" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.site" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.targetdefinition" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.editor.validation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.elements" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.parts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.samples" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.search.dependencies" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.search.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.shared" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.shared.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.dependencies" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.imagebrowser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.imagebrowser.filter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.imagebrowser.repositories" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.plugins" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.views.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.category" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.exports" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.extension" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.feature" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.imports" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.product" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.site" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ui.wizards.tools" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.ui.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.ui.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.ui.templates" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="54">
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.build" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.launching" range="[1.0.400,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.ui" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views.log" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" range="[3.3.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" range="[2.1.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.equinox" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.launching" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="[1.0.200,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.tools" range="[2.0.100,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.trace" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="[0.10.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.debug.core" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ui" version="3.9.0.v20160415-1056"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ui; singleton:=true
Bundle-Version: 3.9.0.v20160415-1056
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.ui.bindings.source" version="0.11.0.v20160310-1055" singleton="false">
<update id="org.eclipse.e4.ui.bindings.source" range="[0.0.0,0.11.0.v20160310-1055)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Bindings Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.bindings"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings.source" version="0.11.0.v20160310-1055"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings.source" version="0.11.0.v20160310-1055"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.bindings.source" version="0.11.0.v20160310-1055"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.bindings.source
Bundle-Version: 0.11.0.v20160310-1055
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.smil" version="1.0.1.v200903091627" singleton="false">
<update id="org.w3c.dom.smil" range="[0.0.0,1.0.1.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C SMIL DOM"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.smil" version="1.0.1.v200903091627"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.smil" version="1.0.1.v200903091627"/>
<provided namespace="java.package" name="org.w3c.dom.smil" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom.events" range="[3.0.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.smil" version="1.0.1.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.smil
Bundle-Version: 1.0.1.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.win32.win32.x86" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Win32 X86 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.win32.win32.x86"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.win32.win32.x86"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86; singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.sat4j.pb" version="2.3.5.v201404071733" singleton="false">
<update id="org.sat4j.pb" range="[0.0.0,2.3.5.v201404071733)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="SAT4J Pseudo"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.pb" version="2.3.5.v201404071733"/>
<provided namespace="osgi.bundle" name="org.sat4j.pb" version="2.3.5.v201404071733"/>
<provided namespace="java.package" name="org.sat4j.pb" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.constraints" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.constraints.pb" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.core" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.orders" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.reader" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.pb.tools" version="2.3.5.v20130525"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.sat4j.core" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.sat4j.pb" version="2.3.5.v201404071733"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.sat4j.pb
Bundle-Version: 2.3.5.v201404071733
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.externaltools" version="1.0.300.v20140219-0051">
<update id="org.eclipse.core.externaltools" range="[0.0.0,1.0.300.v20140219-0051)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.pluginName" value="External Tools Headless Support"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.externaltools"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.externaltools" version="1.0.300.v20140219-0051"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.externaltools" version="1.0.300.v20140219-0051"/>
<provided namespace="java.package" name="org.eclipse.core.externaltools.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.externaltools.internal.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.externaltools.internal.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.externaltools.internal.registry" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.800,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.externaltools" version="1.0.300.v20140219-0051"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.externaltools;singleton:=true
Bundle-Version: 1.0.300.v20140219-0051
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.tests.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.sdk.tests.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.tests"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Tests"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="83">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.feature.group" range="[3.7.100.v20160315-2119,3.7.100.v20160315-2119]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.tests.core" range="[3.4.100.v20160301-1332,3.4.100.v20160301-1332]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.tests.ui" range="[3.9.100.v20160211-2225,3.9.100.v20160211-2225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.tests" range="[3.6.0.v20160323-1650,3.6.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.harness" range="[3.11.0.v20160319-0534,3.11.0.v20160319-0534]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.tests" range="[3.11.100.v20160407-2059,3.11.100.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.runtime" range="[3.11.0.v20160319-0534,3.11.0.v20160319-0534]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.resources" range="[3.9.100.v20160310-1713,3.9.100.v20160310-1713]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.net" range="[1.4.0.v20160404-1158,1.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tests" range="[1.1.0.v20160407-1147,1.1.0.v20160407-1147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands.tests" range="[0.11.0.v20151005-1655,0.11.0.v20151005-1655]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings.tests" range="[0.10.0.v20151005-1657,0.10.0.v20151005-1657]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests.css.core" range="[1.200.0.v20160414-1245,1.200.0.v20160414-1245]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests.css.swt" range="[0.10.0.v20160412-1439,0.10.0.v20160412-1439]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests" range="[0.11.0.v20160407-0754,0.11.0.v20160407-0754]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.google.code.atinject.tck" range="[1.1.0.v20150813-0925,1.1.0.v20150813-0925]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds.tests" range="[1.2.200.v20160408-1539,1.2.200.v20160408-1539]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.tests" range="[3.4.0.v20160405-1556,3.4.0.v20160405-1556]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt.tests" range="[1.1.100.v20160222-0635,1.1.100.v20160222-0635]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.tests" range="[3.4.100.v20160128-1641,3.4.100.v20160128-1641]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.builder" range="[3.10.4.v20160414-0800,3.10.4.v20160414-0800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.compiler" range="[3.12.200.v20160414-0528,3.12.200.v20160414-0528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.model" range="[3.10.200.v20160417-1515,3.10.200.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool.tests" range="[1.1.0.v20150423-0947,1.1.0.v20150423-0947]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.performance" range="[3.10.0.v20160412-0811,3.10.0.v20160412-0811]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.tests" range="[3.10.0.v20160224-0709,3.10.0.v20160224-0709]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.tests" range="[3.12.0.v20160414-1201,3.12.0.v20160414-1201]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.tests.refactoring" range="[3.12.0.v20160406-1012,3.12.0.v20160406-1012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.text.tests" range="[3.12.0.v20160321-0744,3.12.0.v20160321-0744]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions.tests" range="[3.5.0.v20160319-0534,3.5.0.v20160319-0534]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring.tests" range="[3.7.0.v20151129-1935,3.7.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring.tests" range="[3.8.0.v20151129-1935,3.8.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text.tests" range="[3.11.0.v20160404-2012,3.11.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text.tests" range="[3.11.0.v20160404-2012,3.11.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.tests" range="[1.1.0.v20160323-1650,1.1.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers.tests" range="[3.11.0.v20160404-2012,3.11.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.tests" range="[3.10.0.v20160216-0617,3.10.0.v20160216-0617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor.tests" range="[3.11.0.v20160404-2012,3.11.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors.tests" range="[3.9.0.v20160404-2012,3.9.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search.tests" range="[3.9.0.v20160404-2012,3.9.0.v20160404-2012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tests" range="[3.105.0.v20160415-1252,3.105.0.v20160415-1252]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.tests.databinding" range="[1.1.0.v20160412-0910,1.1.0.v20160412-0910]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.tests.databinding.conformance" range="[1.2.0.v20150813-1848,1.2.0.v20150813-1848]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.examples.databinding" range="[1.0.300.v20160411-1445,1.0.300.v20160411-1445]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests" range="[3.11.0.v20160411-2246,3.11.0.v20160411-2246]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ua.tests" range="[3.3.800.v20160416-0844,3.3.800.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ua.tests.doc" range="[1.0.200.v20160416-0844,1.0.200.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.navigator" range="[3.5.0.v20160407-1635,3.5.0.v20160407-1635]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.rcp" range="[3.4.0.v20160107-1316,3.4.0.v20160107-1316]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.forms" range="[3.3.300.v20160107-1350,3.3.300.v20160107-1350]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.tests" range="[3.2.0.v20160415-0840,3.2.0.v20160415-0840]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build.tests" range="[1.1.700.v20160204-0642,1.1.700.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.tests" range="[1.1.0.v20150911-1533,1.1.0.v20150911-1533]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.tools.versioning" range="[1.0.200.v20140518-1929,1.0.200.v20140518-1929]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tests" range="[3.3.0.v20160324-2144,3.3.0.v20160324-2144]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.tests.cvs.core" range="[3.4.0.v20160404-1158,3.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.tests.core" range="[3.8.0.v20160404-1158,3.8.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.harness" range="[1.4.0.v20160329-1915,1.4.0.v20160329-1915]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.performance" range="[1.3.0.v20160329-1915,1.3.0.v20160329-1915]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.views.properties.tabbed" range="[3.6.0.v20160329-1915,3.6.0.v20160329-1915]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.tests" range="[1.0.600.v20160411-1552,1.0.600.v20160411-1552]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.tests" range="[1.0.100.v20150706-0746,1.0.100.v20150706-0746]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet.tests" range="[1.0.100.v20160415-1458,1.0.100.v20160415-1458]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.fileupload" range="[1.2.2.v20111214-1400,1.2.2.v20111214-1400]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.io" range="[2.2.0.v201405211200,2.2.0.v201405211200]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.installer" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests" range="[1.6.100.v20151019-2042,1.6.100.v20151019-2042]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.discovery" range="[1.1.0.v20141216-2213,1.1.0.v20141216-2213]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.ui" range="[1.1.100.v20150430-1836,1.1.100.v20150430-1836]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.verifier" range="[1.1.100.v20150430-1836,1.1.100.v20150430-1836]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.test" range="[1.1.100.v20150430-1836,1.1.100.v20150430-1836]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.binaries" range="[1.0.100.v20141013-0801,1.0.100.v20141013-0801]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi.tests" range="[1.0.0.v20160408-1433,1.0.0.v20160408-1433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.core" range="[3.2.800.v20160413-0713,3.2.800.v20160413-0713]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest" range="[1.1.0.v20090501071000,1.1.0.v20090501071000]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core" range="[1.3.0.v201303031735,1.3.0.v201303031735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.integration" range="[1.1.0.v201303031500,1.1.0.v201303031500]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.library" range="[1.1.0.v20090501071000,1.1.0.v20090501071000]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.text" range="[1.1.0.v20090501071000,1.1.0.v20090501071000]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.mockito" range="[1.8.4.v201303031500,1.8.4.v201303031500]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.objenesis" range="[1.0.0.v201505121915,1.0.0.v201505121915]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.j2se13" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.j2se13" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="J2SE-1.3 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentj2se13"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.j2se13"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se13" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.j2se13" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.j2se13" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.j2se13
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.core.feature.source.feature.group" version="1.3.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.core.feature.source.feature.group" range="[0.0.0,1.3.200.v20160317-1257)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core.feature"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 Core Function Source"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.group" version="1.3.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="25">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository.source" range="[1.1.500.v20160102-2223,1.1.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console.source" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.source" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.source" range="[2.3.200.v20150907-2149,2.3.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine.source" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector.source" range="[1.0.200.v20150907-2149,1.0.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.source" range="[2.3.100.v20160102-2223,2.3.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository.source" range="[1.2.300.v20160102-2223,1.2.300.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.source" range="[2.3.200.v20160102-2223,2.3.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse.source" range="[2.1.400.v20160102-2223,2.1.400.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives.source" range="[1.2.100.v20160104-2129,1.2.100.v20160104-2129]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator.source" range="[2.0.100.v20150907-2149,2.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.source" range="[2.0.200.v20150423-1455,2.0.200.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox.source" range="[1.0.700.v20160102-2223,1.0.700.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences.source" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.source" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor.source" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf.source" range="[1.1.100.v20150521-1342,1.1.100.v20150521-1342]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations.source" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx.source" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64.source" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.tukaani.xz.source" range="[1.3.0.v201308270617,1.3.0.v201308270617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.jar" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.jar" version="3.13.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Httpclient4 Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.jar" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.httpclient4.feature" version="3.13.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.httpclient4.feature" version="3.13.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2011 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security" version="1.2.200.v20150715-1528">
<update id="org.eclipse.equinox.security" range="[0.0.0,1.2.200.v20150715-1528)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Java Authentication and Authorization Service (JAAS)"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
</properties>
<provides size="16">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" version="1.2.200.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security" version="1.2.200.v20150715-1528"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.auth" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.auth.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.auth.ext.loader" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.auth.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.credentials" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.storage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.storage.friends" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.auth" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.auth.credentials" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.auth.module" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.storage" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.storage.provider" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="18">
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.callback" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.login" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.spi" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.internal.runtime" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.preferences" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.4.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.3.3,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security" version="1.2.200.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security;singleton:=true
Bundle-Version: 1.2.200.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.di.annotations.source" version="1.5.0.v20151127-1241" singleton="false">
<update id="org.eclipse.e4.core.di.annotations.source" range="[0.0.0,1.5.0.v20151127-1241)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Dependency Injection Annotations Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di.annotations"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.annotations.source" version="1.5.0.v20151127-1241"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di.annotations.source" version="1.5.0.v20151127-1241"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di.annotations.source" version="1.5.0.v20151127-1241"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di.annotations.source
Bundle-Version: 1.5.0.v20151127-1241
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extensionlocation" version="1.2.300.v20160128-1810">
<update id="org.eclipse.equinox.p2.extensionlocation" range="[0.0.0,1.2.300.v20160128-1810)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Extension Location Repository Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extensionlocation"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation" version="1.2.300.v20160128-1810"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.extensionlocation" version="1.2.300.v20160128-1810"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.extensionlocation" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="23">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.update" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.directorywatcher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.extensionlocation" version="1.2.300.v20160128-1810"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
Bundle-Version: 1.2.300.v20160128-1810
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.io" version="1.1.100.v20150430-1834" singleton="false">
<update id="org.eclipse.equinox.io" range="[0.0.0,1.1.100.v20150430-1834)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="IO Connector Service"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="This bundle contains service for creating connections."/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.io"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.io" version="1.1.100.v20150430-1834"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.io" version="1.1.100.v20150430-1834"/>
<provided namespace="java.package" name="javax.microedition.io" version="0.0.0"/>
<provided namespace="java.package" name="org.osgi.service.io" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.io" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.io.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.io.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="java.package" name="javax.microedition.io" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.hash" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.pool" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.ref" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.io" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.io" version="1.1.100.v20150430-1834"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.io
Bundle-Version: 1.1.100.v20150430-1834
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.launching.ui.macosx.source" version="1.1.0.v20160120-1304" singleton="false">
<update id="org.eclipse.jdt.launching.ui.macosx.source" range="[0.0.0,1.1.0.v20160120-1304)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Mac OS X UI Launching Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching.ui.macosx"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.ui.macosx.source" version="1.1.0.v20160120-1304"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching.ui.macosx.source" version="1.1.0.v20160120-1304"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching.ui.macosx.source" version="1.1.0.v20160120-1304"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching.ui.macosx.source
Bundle-Version: 1.1.0.v20160120-1304
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.easymock" version="2.4.0.v20090202-0900" singleton="false">
<update id="org.easymock" range="[0.0.0,2.4.0.v20090202-0900)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="EasyMock"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.easymock" version="2.4.0.v20090202-0900"/>
<provided namespace="osgi.bundle" name="org.easymock" version="2.4.0.v20090202-0900"/>
<provided namespace="java.package" name="org.easymock" version="2.4.0"/>
<provided namespace="java.package" name="org.easymock.internal" version="2.4.0"/>
<provided namespace="java.package" name="org.easymock.internal.matchers" version="2.4.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.easymock" version="2.4.0.v20090202-0900"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.easymock
Bundle-Version: 2.4.0.v20090202-0900
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.commands" version="3.8.0.v20160316-1921" singleton="false">
<update id="org.eclipse.core.commands" range="[0.0.0,3.8.0.v20160316-1921)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Commands"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.commands"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.commands" version="3.8.0.v20160316-1921"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.commands" version="3.8.0.v20160316-1921"/>
<provided namespace="java.package" name="org.eclipse.core.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.commands.common" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.commands.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.commands.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.commands.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.commands.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.commands.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.commands" version="3.8.0.v20160316-1921"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.commands
Bundle-Version: 3.8.0.v20160316-1921
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit.runtime.source" version="3.4.500.v20151129-1935" singleton="false">
<update id="org.eclipse.jdt.junit.runtime.source" range="[0.0.0,3.4.500.v20151129-1935)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools JUnit Runtime Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit.runtime"/>
<property name="maven-version" value="3.4.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.runtime.source" version="3.4.500.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime.source" version="3.4.500.v20151129-1935"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit.runtime.source" version="3.4.500.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit.runtime.source
Bundle-Version: 3.4.500.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit.runtime" version="3.4.500.v20151129-1935">
<update id="org.eclipse.jdt.junit.runtime" range="[0.0.0,3.4.500.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools JUnit Runtime Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit.runtime"/>
<property name="maven-version" value="3.4.500-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.runtime" version="3.4.500.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" version="3.4.500.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.runner" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.runner.junit3" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit.runtime" version="3.4.500.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit.runtime;singleton:=true
Bundle-Version: 3.4.500.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.tests.css.core" version="1.200.0.v20160414-1245" singleton="false">
<update id="org.eclipse.e4.ui.tests.css.core" range="[0.0.0,1.200.0.v20160414-1245)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="e4 css core tests (Incubation)"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.tests.css.core"/>
<property name="maven-version" value="1.200.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests.css.core" version="1.200.0.v20160414-1245"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.tests.css.core" version="1.200.0.v20160414-1245"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.tests.css.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.tests.css.core.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.tests.css.core.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.tests.css.core" version="1.200.0.v20160414-1245"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.tests.css.core
Bundle-Version: 1.200.0.v20160414-1245
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.region.source" version="1.3.0.v20150929-2134" singleton="false">
<update id="org.eclipse.equinox.region.source" range="[0.0.0,1.3.0.v20150929-2134)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Region Digraph Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.region"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.region.source" version="1.3.0.v20150929-2134"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.region.source" version="1.3.0.v20150929-2134"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.region.source" version="1.3.0.v20150929-2134"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.region.source
Bundle-Version: 1.3.0.v20150929-2134
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.intro.quicklinks.source" version="1.0.0.v20160316-0209" singleton="false">
<update id="org.eclipse.ui.intro.quicklinks.source" range="[0.0.0,1.0.0.v20160316-0209)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Quicklinks for the Welcome Framework Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro.quicklinks"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.quicklinks.source" version="1.0.0.v20160316-0209"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro.quicklinks.source" version="1.0.0.v20160316-0209"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro.quicklinks.source" version="1.0.0.v20160316-0209"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro.quicklinks.source
Bundle-Version: 1.0.0.v20160316-0209
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.x86" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux X86 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.x86"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.x86"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.x86" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.x86;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.emf.editor3x" version="4.5.0.v20151104-1536">
<update id="org.eclipse.e4.tools.emf.editor3x" range="[0.0.0,4.5.0.v20151104-1536)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Editor3x"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.emf.editor3x"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.editor3x" version="4.5.0.v20151104-1536"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.emf.editor3x" version="4.5.0.v20151104-1536"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.editor3x" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.editor3x.emf" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.editor3x.extension" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.common" range="2.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools.emf.ui" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.edit" range="2.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools.compat" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools.services" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="3.5.200"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="3.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="3.5.100"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="3.8.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.emf.editor3x" version="4.5.0.v20151104-1536"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.emf.editor3x;singleton:=true
Bundle-Version: 4.5.0.v20151104-1536
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.build" version="3.9.200.v20160204-0642">
<update id="org.eclipse.pde.build" range="[0.0.0,3.9.200.v20160204-0642)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Plug-in Development Environment Build Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.build"/>
<property name="maven-version" value="3.9.200-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build" version="3.9.200.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.build" version="3.9.200.v20160204-0642"/>
<provided namespace="java.package" name="org.eclipse.pde.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.ant" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.builder" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.fetch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.packager" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.publisher.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.site" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.site.compatibility" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.1.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.jarprocessor" range="[1.0.1,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.tools" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director.app" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.eclipse" range="1.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine.phases" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.updatesite" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.build" version="3.9.200.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.build;singleton:=true
Bundle-Version: 3.9.200.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.ssl.source" version="1.0.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.ssl.source" range="[0.0.0,1.0.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer SSL Fragment Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.ssl.source" version="1.0.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.ssl.source" version="1.0.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.ssl.source" version="1.0.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.ssl.source
Bundle-Version: 1.0.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.j2se12" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.j2se12" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="J2SE-1.2 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentj2se12"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.j2se12"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se12" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.j2se12" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.j2se12" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.j2se12
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.discovery" version="1.0.300.v20131210-1027">
<update id="org.eclipse.equinox.p2.discovery" range="[0.0.0,1.0.300.v20131210-1027)" severity="0"/>
<properties size="8">
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.Bundle-Name" value="Equinox Provisioning Discovery"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery" version="1.0.300.v20131210-1027"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery" version="1.0.300.v20131210-1027"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.discovery" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.discovery.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.discovery.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="2.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.discovery" version="1.0.300.v20131210-1027"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.discovery;singleton:=true
Bundle-Version: 1.0.300.v20131210-1027
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.metatype" version="1.4.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.metatype" range="[0.0.0,1.4.200.v20160324-1850)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Meta Type"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.metatype"/>
<property name="maven-version" value="1.4.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.metatype" version="1.4.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.metatype" version="1.4.200.v20160324-1850"/>
<provided namespace="java.package" name="org.eclipse.equinox.metatype" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.metatype.impl" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.6.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework.wiring" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.cm" range="[1.2.1,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.metatype" range="[1.2.0,1.4.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.5.0,2.0.0)"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.metatype" version="1.4.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.metatype
Bundle-Version: 1.4.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.text.tests" version="3.11.0.v20160404-2012" singleton="false">
<update id="org.eclipse.text.tests" range="[0.0.0,3.11.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Text Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.text"/>
<property name="maven-artifactId" value="org.eclipse.text.tests"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.text.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.text.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.text.tests.link" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.text.tests.templates" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.text.tests" version="3.11.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.text.tests
Bundle-Version: 3.11.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.property.source" version="1.6.0.v20160415-1410" singleton="false">
<update id="org.eclipse.core.databinding.property.source" range="[0.0.0,1.6.0.v20160415-1410)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding Properties Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.property"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.property.source" version="1.6.0.v20160415-1410"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.property.source" version="1.6.0.v20160415-1410"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.property.source" version="1.6.0.v20160415-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.property.source
Bundle-Version: 1.6.0.v20160415-1410
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.engine.source" version="2.4.100.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.engine.source" range="[0.0.0,2.4.100.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Engine Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.engine"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine.source" version="2.4.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine.source" version="2.4.100.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.engine.source" version="2.4.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.engine.source
Bundle-Version: 2.4.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.preferences.source" version="3.6.0.v20160120-1756" singleton="false">
<update id="org.eclipse.equinox.preferences.source" range="[0.0.0,3.6.0.v20160120-1756)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Eclipse Preferences Mechanism Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.preferences"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences.source" version="3.6.0.v20160120-1756"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.preferences.source" version="3.6.0.v20160120-1756"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.preferences.source" version="3.6.0.v20160120-1756"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.preferences.source
Bundle-Version: 3.6.0.v20160120-1756
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ltk.core.refactoring.tests" version="3.7.0.v20151129-1935">
<update id="org.eclipse.ltk.core.refactoring.tests" range="[0.0.0,3.7.0.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Refactoring Core Test Plug-in"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.core.refactoring.tests"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring.tests" version="3.7.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring.tests" version="3.7.0.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests.participants" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests.resource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests.scripting" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.tests.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.core.refactoring.tests" version="3.7.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.core.refactoring.tests; singleton:=true
Bundle-Version: 3.7.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.device.source" version="1.0.400.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.device.source" range="[0.0.0,1.0.400.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Device Access Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.device"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.device.source" version="1.0.400.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.device.source" version="1.0.400.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.device.source" version="1.0.400.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.device.source
Bundle-Version: 1.0.400.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.source" version="2.4.100.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.ui.source" range="[0.0.0,2.4.100.v20160317-1257)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning UI Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.source" version="2.4.100.v20160317-1257"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.source" version="2.4.100.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.source" version="2.4.100.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.source
Bundle-Version: 2.4.100.v20160317-1257
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.simpleconfigurator.source" version="1.1.100.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.simpleconfigurator.source" range="[0.0.0,1.1.100.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Simple Configurator Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.simpleconfigurator"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.source" version="1.1.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.source" version="1.1.100.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.simpleconfigurator.source" version="1.1.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.source
Bundle-Version: 1.1.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);addJvmArg(jvmArg:-XstartOnFirstThread);addJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);removeJvmArg(jvmArg:-XstartOnFirstThread);removeJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.tests" version="3.105.0.v20160415-1252" singleton="false">
<update id="org.eclipse.swt.tests" range="[0.0.0,3.105.0.v20160415-1252)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.tests"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tests" version="3.105.0.v20160415-1252"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.tests" version="3.105.0.v20160415-1252"/>
<provided namespace="java.package" name="org.eclipse.swt.tests.junit" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.tests.junit.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.tests.junit.performance" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.tests" version="3.105.0.v20160415-1252"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.tests
Bundle-Version: 3.105.0.v20160415-1252
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.ant.source" version="1.9.6.v201510161327" singleton="false">
<update id="org.apache.ant.source" range="[0.0.0,1.9.6.v201510161327)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Ant Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.ant.source" version="1.9.6.v201510161327"/>
<provided namespace="osgi.bundle" name="org.apache.ant.source" version="1.9.6.v201510161327"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.ant.source" version="1.9.6.v201510161327"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.ant.source
Bundle-Version: 1.9.6.v201510161327
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.core.source" version="3.10.100.v20160203-1134" singleton="false">
<update id="org.eclipse.debug.core.source" range="[0.0.0,3.10.100.v20160203-1134)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Debug Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.core"/>
<property name="maven-version" value="3.10.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.core.source" version="3.10.100.v20160203-1134"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.core.source" version="3.10.100.v20160203-1134"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.core.source" version="3.10.100.v20160203-1134"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.core.source
Bundle-Version: 3.10.100.v20160203-1134
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.sdk.feature.jar" version="3.12.0.v20160414-1953">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009, 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Target Components"/>
<property name="df_LT.description" value="All of the bundles and source that are produced by the Equinox project.  This includes basic OSGi framework support, all implemented compendium services, the p2 provisioning platform and various server-side support bundles.&#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.sdk.feature.jar" version="3.12.0.v20160414-1953"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.sdk" version="3.12.0.v20160414-1953"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.sdk" version="3.12.0.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.s390" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.s390" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.s390" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.importexport.source" version="1.1.200.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.ui.importexport.source" range="[0.0.0,1.1.200.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Import and Export Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.importexport"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport.source" version="1.1.200.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.importexport.source" version="1.1.200.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.importexport.source" version="1.1.200.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.importexport.source
Bundle-Version: 1.1.200.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.undo" version="3.2.301.v20160329-2017">
<update id="org.eclipse.ui.examples.undo" range="[0.0.0,3.2.301.v20160329-2017)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Undo Example"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.undo"/>
<property name="maven-version" value="3.2.301-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.undo" version="3.2.301.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.undo" version="3.2.301.v20160329-2017"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.undo" version="3.2.301.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.undo; singleton:=true
Bundle-Version: 3.2.301.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="config.a.jre.javase" version="1.6.0" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="1.6.0"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" version="1.6.0"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="1.6.0"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="install"/>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui" version="3.107.0.v20160415-1308">
<update id="org.eclipse.ui" range="[0.0.0,3.107.0.v20160415-1308)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Eclipse UI"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui"/>
<property name="maven-version" value="3.107.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui" version="3.107.0.v20160415-1308"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui" version="3.107.0.v20160415-1308"/>
<provided namespace="java.package" name="org.eclipse.ui.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.103.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.10.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="[3.105.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui" version="3.107.0.v20160415-1308"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui; singleton:=true
Bundle-Version: 3.107.0.v20160415-1308
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.servlet" version="1.3.0.v20160413-1503" singleton="false">
<update id="org.eclipse.equinox.http.servlet" range="[0.0.0,1.3.0.v20160413-1503)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Http Services Servlet"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.servlet"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet" version="1.3.0.v20160413-1503"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.servlet" version="1.3.0.v20160413-1503"/>
<provided namespace="java.package" name="org.eclipse.equinox.http.servlet" version="1.2.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.http.servlet.context" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="java.package" name="javax.servlet" range="[2.3.0,4.0.0)"/>
<required namespace="java.package" name="javax.servlet.annotation" range="2.6.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="2.6.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.3.0,4.0.0)"/>
<required namespace="java.package" name="org.osgi.dto" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework.dto" range="[1.8.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework.wiring" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.http" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.http.context" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.service.http.runtime" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.service.http.runtime.dto" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.service.http.whiteboard" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.5.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.servlet" version="1.3.0.v20160413-1503"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.servlet
Bundle-Version: 1.3.0.v20160413-1503
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.events" version="3.0.0.draft20060413_v201105210656" singleton="false">
<update id="org.w3c.dom.events" range="[0.0.0,3.0.0.draft20060413_v201105210656)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="W3C DOM Level 3 Events"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.events" version="3.0.0.draft20060413_v201105210656"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.events" version="3.0.0.draft20060413_v201105210656"/>
<provided namespace="java.package" name="org.w3c.dom.events" version="3.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.events" version="3.0.0.draft20060413_v201105210656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.events
Bundle-Version: 3.0.0.draft20060413_v201105210656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.ds.source" version="1.4.400.v20160226-2036" singleton="false">
<update id="org.eclipse.equinox.ds.source" range="[0.0.0,1.4.400.v20160226-2036)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Declarative Services Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.ds"/>
<property name="maven-version" value="1.4.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds.source" version="1.4.400.v20160226-2036"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.ds.source" version="1.4.400.v20160226-2036"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.ds.source" version="1.4.400.v20160226-2036"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.ds.source
Bundle-Version: 1.4.400.v20160226-2036
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.slf4j.api.source" version="1.7.2.v20121108-1250" singleton="false">
<update id="org.slf4j.api.source" range="[0.0.0,1.7.2.v20121108-1250)" severity="0"/>
<properties size="5">
<property name="df_LT.Bundle-Vendor.0" value="Eclipse.org"/>
<property name="df_LT.Bundle-Name.0" value="SLF4J API Source"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name.0"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor.0"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
<provided namespace="osgi.bundle" name="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.slf4j.api.source" version="1.7.2.v20121108-1250"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.slf4j.api.source
Bundle-Version: 1.7.2.v20121108-1250
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.cm" version="1.1.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.cm" range="[0.0.0,1.1.200.v20160324-1850)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Configuration Admin"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.cm"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.cm" version="1.1.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.cm" version="1.1.200.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="java.package" name="org.osgi.framework" range="1.7.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="[1.5.0,1.6.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.cm" version="1.1.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.cm
Bundle-Version: 1.1.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.inject" version="1.0.0.v20091030" singleton="false">
<update id="javax.inject" range="[0.0.0,1.0.0.v20091030)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Atinject Dependency Injection Annotations"/>
<property name="df_LT.bundleProvider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.inject" version="1.0.0.v20091030"/>
<provided namespace="osgi.bundle" name="javax.inject" version="1.0.0.v20091030"/>
<provided namespace="java.package" name="javax.inject" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.inject" version="1.0.0.v20091030"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.inject
Bundle-Version: 1.0.0.v20091030
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="com.ibm.icu.source" version="56.1.0.v201601250100" singleton="false">
<update id="com.ibm.icu.source" range="[0.0.0,56.1.0.v201601250100)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="International Components for Unicode for Java (ICU4J) Source"/>
<property name="df_LT.providerName" value="IBM Corporation"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.ibm.icu.source" version="56.1.0.v201601250100"/>
<provided namespace="osgi.bundle" name="com.ibm.icu.source" version="56.1.0.v201601250100"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.ibm.icu.source" version="56.1.0.v201601250100"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.ibm.icu.source
Bundle-Version: 56.1.0.v201601250100
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.cm.source" version="1.1.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.cm.source" range="[0.0.0,1.1.200.v20160324-1850)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Configuration Admin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.cm"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.cm.source" version="1.1.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.cm.source" version="1.1.200.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.cm.source" version="1.1.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.cm.source
Bundle-Version: 1.1.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.linux.x86_64" version="1.2.200.v20140124-1940">
<update id="org.eclipse.core.filesystem.linux.x86_64" range="[0.0.0,1.2.200.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Linux"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.linux.x86_64"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.x86_64" version="1.2.200.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.linux.x86_64" version="1.2.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.2.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.linux.x86_64" version="1.2.200.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.linux.x86_64; singleton:=true
Bundle-Version: 1.2.200.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.ui.source" version="3.4.0.v20160404-1158" singleton="false">
<update id="org.eclipse.team.cvs.ui.source" range="[0.0.0,3.4.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="CVS Team Provider UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.ui"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ui.source" version="3.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.ui.source" version="3.4.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.ui.source" version="3.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.ui.source
Bundle-Version: 3.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.tools.feature.feature.jar" version="3.105.0.v20160402-1532">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.description.url" value="%descriptionURL"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.featureName" value="SWT Tools"/>
<property name="df_LT.description" value="SWT Tools, including Sleak, SWT Spy Plugin, and JniGen."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.swt.tools.feature"/>
<property name="maven-artifactId" value="org.eclipse.swt.tools.feature"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools.feature.feature.jar" version="3.105.0.v20160402-1532"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.swt.tools.feature" version="3.105.0.v20160402-1532"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.swt.tools.feature" version="3.105.0.v20160402-1532"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.ip.source" version="1.1.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.ip.source" range="[0.0.0,1.1.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Initial Provisioning Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.ip"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ip.source" version="1.1.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.ip.source" version="1.1.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.ip.source" version="1.1.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.ip.source
Bundle-Version: 1.1.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.reconciler.dropins" version="1.1.300.v20150907-2149">
<update id="org.eclipse.equinox.p2.reconciler.dropins" range="[0.0.0,1.1.300.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Drop-in"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.reconciler.dropins"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins" version="1.1.300.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" version="1.1.300.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.reconciler.dropins" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.eclipse" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.extensionlocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.update" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.directorywatcher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.reconciler.dropins" version="1.1.300.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true
Bundle-Version: 1.1.300.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.navigator" version="3.6.0.v20160329-2052">
<update id="org.eclipse.ui.navigator" range="[0.0.0,3.6.0.v20160329-2052)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Common Navigator View"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.navigator"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator" version="3.6.0.v20160329-2052"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.navigator" version="3.6.0.v20160329-2052"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.extensions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.filters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.framelist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.sorters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.navigator" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.navigator" version="3.6.0.v20160329-2052"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.navigator; singleton:=true
Bundle-Version: 3.6.0.v20160329-2052
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.garbagecollector" version="1.0.200.v20150907-2149">
<update id="org.eclipse.equinox.p2.garbagecollector" range="[0.0.0,1.0.200.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Garbage Collector"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.garbagecollector"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector" version="1.0.200.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.garbagecollector" version="1.0.200.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.garbagecollector" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.core.runtime.preferences" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.garbagecollector" version="1.0.200.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector;singleton:=true
Bundle-Version: 1.0.200.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.continuation" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.continuation" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Continuation"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Continuation"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.continuation" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.continuation" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,3.2.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.continuation" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.continuation
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.propertysheet" version="3.2.400.v20160329-2017">
<update id="org.eclipse.ui.examples.propertysheet" range="[0.0.0,3.2.400.v20160329-2017)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="User File Editor"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.propertysheet"/>
<property name="maven-version" value="3.2.400-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.propertysheet" version="3.2.400.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.propertysheet" version="3.2.400.v20160329-2017"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.propertysheet" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.propertysheet" version="3.2.400.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.propertysheet; singleton:=true
Bundle-Version: 3.2.400.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.ui.source" version="3.8.0.v20160412-1748" singleton="false">
<update id="org.eclipse.team.ui.source" range="[0.0.0,3.8.0.v20160412-1748)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Team Support UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.ui"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.ui.source" version="3.8.0.v20160412-1748"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.ui.source" version="3.8.0.v20160412-1748"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.ui.source" version="3.8.0.v20160412-1748"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.ui.source
Bundle-Version: 3.8.0.v20160412-1748
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.core.sdk.feature.group" version="3.12.0.v20160407-2059" singleton="false">
<update id="org.eclipse.equinox.core.sdk.feature.group" range="[0.0.0,3.12.0.v20160407-2059)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.core.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Core SDK"/>
<property name="df_LT.description" value="A collection of core Equinox bundles and source including the Equinox framework implementation itself. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.sdk.feature.group" version="3.12.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="62">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state.source" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services.source" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.source" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common.source" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.source" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry.source" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.supplement" range="[1.6.0.v20160309-1913,1.6.0.v20160309-1913]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.supplement.source" range="[1.6.0.v20160309-1913,1.6.0.v20160309-1913]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.xslt" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.xslt.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.hook" range="[1.1.0.v20131021-1933,1.1.0.v20131021-1933]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.hook.source" range="[1.1.0.v20131021-1933,1.1.0.v20131021-1933]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util" range="[3.3.100.v20150423-1351,3.3.100.v20150423-1351]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util.source" range="[3.3.100.v20150423-1351,3.3.100.v20150423-1351]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.concurrent" range="[1.1.0.v20130327-1442,1.1.0.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.concurrent.source" range="[1.1.0.v20130327-1442,1.1.0.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.source" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64.source" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx.source" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.source" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui.source" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.region" range="[1.3.0.v20150929-2134,1.3.0.v20150929-2134]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.region.source" range="[1.3.0.v20150929-2134,1.3.0.v20150929-2134]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console" range="[1.1.200.v20150929-1405,1.1.200.v20150929-1405]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.source" range="[1.1.200.v20150929-1405,1.1.200.v20150929-1405]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.ssh" range="[1.0.100.v20131208-1728,1.0.100.v20131208-1728]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.ssh.source" range="[1.0.100.v20131208-1728,1.0.100.v20131208-1728]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.jaas.fragment" range="[1.0.0.v20130327-1442,1.0.0.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command" range="[0.10.0.v201209301215,0.10.0.v201209301215]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command.source" range="[0.10.0.v201209301215,0.10.0.v201209301215]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime" range="[0.10.0.v201209301036,0.10.0.v201209301036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime.source" range="[0.10.0.v201209301036,0.10.0.v201209301036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell" range="[0.10.0.v201212101605,0.10.0.v201212101605]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell.source" range="[0.10.0.v201212101605,0.10.0.v201212101605]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.mina.core" range="[2.0.7.v201401071602,2.0.7.v201401071602]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.mina.core.source" range="[2.0.7.v201401071602,2.0.7.v201401071602]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.sshd.core" range="[0.7.0.v201303101611,0.7.0.v201303101611]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.sshd.core.source" range="[0.7.0.v201303101611,0.7.0.v201303101611]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi" range="[1.0.0.v20160307-1318,1.0.0.v20160307-1318]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi.source" range="[1.0.0.v20160307-1318,1.0.0.v20160307-1318]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.slf4j.api" range="[1.7.2.v20121108-1250,1.7.2.v20121108-1250]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.slf4j.api.source" range="[1.7.2.v20121108-1250,1.7.2.v20121108-1250]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching" range="[1.0.400.v20140529-1734,1.0.400.v20140529-1734]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.source" range="[1.0.400.v20140529-1734,1.0.400.v20140529-1734]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.j9" range="[1.0.200.v20140529-1734,1.0.200.v20140529-1734]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.j9.source" range="[1.0.200.v20140529-1734,1.0.200.v20140529-1734]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.hook" range="[1.1.200.v20150730-1648,1.1.200.v20150730-1648]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.hook.source" range="[1.1.200.v20150730-1648,1.1.200.v20150730-1648]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.sdk.feature.jar" range="[3.12.0.v20160407-2059,3.12.0.v20160407-2059]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.touchpoint.eclipse.source" version="2.1.400.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.touchpoint.eclipse.source" range="[0.0.0,2.1.400.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Eclipse Touchpoint Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.touchpoint.eclipse"/>
<property name="maven-version" value="2.1.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse.source" version="2.1.400.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.eclipse.source" version="2.1.400.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.touchpoint.eclipse.source" version="2.1.400.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.eclipse.source
Bundle-Version: 2.1.400.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.configuration.macosx" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.configuration.macosx" version="1.0.0"/>
</provides>
<filter>
        (osgi.os=macosx)
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/Documents/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.el" version="2.2.0.v201303151357" singleton="false">
<update id="javax.el" range="[0.0.0,2.2.0.v201303151357)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Javax Expression Language Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.el" version="2.2.0.v201303151357"/>
<provided namespace="osgi.bundle" name="javax.el" version="2.2.0.v201303151357"/>
<provided namespace="java.package" name="javax.el" version="2.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="java.package" name="javax.servlet" range="2.5.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.el" version="2.2.0.v201303151357"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.el
Bundle-Version: 2.2.0.v201303151357
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);addJvmArg(jvmArg:-XstartOnFirstThread);addJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);removeJvmArg(jvmArg:-XstartOnFirstThread);removeJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.ui.source" version="3.12.0.v20160415-1630" singleton="false">
<update id="org.eclipse.jdt.ui.source" range="[0.0.0,3.12.0.v20160415-1630)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.ui"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.source" version="3.12.0.v20160415-1630"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.ui.source" version="3.12.0.v20160415-1630"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.ui.source" version="3.12.0.v20160415-1630"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.ui.source
Bundle-Version: 3.12.0.v20160415-1630
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.weaving.hook.source" version="1.1.200.v20150730-1648" singleton="false">
<update id="org.eclipse.equinox.weaving.hook.source" range="[0.0.0,1.1.200.v20150730-1648)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Aspect Weaving Hooks Plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.hook"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.hook.source" version="1.1.200.v20150730-1648"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.hook.source" version="1.1.200.v20150730-1648"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.hook.source" version="1.1.200.v20150730-1648"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.hook.source
Bundle-Version: 1.1.200.v20150730-1648
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.cvs.source.feature.jar" version="1.4.300.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2012 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse CVS Client Resources"/>
<property name="df_LT.description" value="API documentation and source code zips for Eclipse CVS client."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.cvs.feature"/>
<property name="maven-artifactId" value="org.eclipse.cvs"/>
<property name="maven-version" value="1.4.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.source.feature.jar" version="1.4.300.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.cvs.source" version="1.4.300.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.cvs.source" version="1.4.300.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.sdk.id" version="4.7.0.I20160417-1515">
<update id="org.eclipse.rcp.sdk.id" range="0.0.0" severity="0"/>
<properties size="3">
<property name="org.eclipse.equinox.p2.name" value="Eclipse RCP SDK"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="9">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.application" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.source.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.configuration" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.


Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.google.code.atinject.tck" version="1.1.0.v20150813-0925" singleton="false">
<update id="com.google.code.atinject.tck" range="[0.0.0,1.1.0.v20150813-0925)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Tck"/>
<property name="org.eclipse.equinox.p2.provider" value="GOOGLE"/>
<property name="maven-groupId" value="com.google.code"/>
<property name="maven-artifactId" value="com.google.code.atinject.tck"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.google.code.atinject.tck" version="1.1.0.v20150813-0925"/>
<provided namespace="osgi.bundle" name="com.google.code.atinject.tck" version="1.1.0.v20150813-0925"/>
<provided namespace="java.package" name="org.atinject.tck" version="0.0.0"/>
<provided namespace="java.package" name="org.atinject.tck.auto" version="0.0.0"/>
<provided namespace="java.package" name="org.atinject.tck.auto.accessories" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.google.code.atinject.tck" version="1.1.0.v20150813-0925"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.google.code.atinject.tck
Bundle-Version: 1.1.0.v20150813-0925
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.console" version="1.0.400.v20150907-2149">
<update id="org.eclipse.equinox.p2.console" range="[0.0.0,1.0.400.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Console"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.console"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console" version="1.0.400.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.console" version="1.0.400.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.console" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.3.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.console" version="1.0.400.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.console;singleton:=true
Bundle-Version: 1.0.400.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.editors.source" version="3.10.0.v20160222-1603" singleton="false">
<update id="org.eclipse.ui.editors.source" range="[0.0.0,3.10.0.v20160222-1603)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Default Text Editor Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.editors"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors.source" version="3.10.0.v20160222-1603"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.editors.source" version="3.10.0.v20160222-1603"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.editors.source" version="3.10.0.v20160222-1603"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.editors.source
Bundle-Version: 3.10.0.v20160222-1603
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.cvs.feature.group" version="1.4.300.v20160417-1515" singleton="false">
<update id="org.eclipse.cvs.feature.group" range="[0.0.0,1.4.300.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.cvs.feature"/>
<property name="maven-artifactId" value="org.eclipse.cvs"/>
<property name="maven-version" value="1.4.300-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse CVS Client"/>
<property name="df_LT.description" value="Eclipse CVS Client (binary runtime and user documentation)."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.feature.group" version="1.4.300.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.core" range="[3.4.0.v20160404-1158,3.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ssh2" range="[3.3.0.v20160404-1158,3.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ui" range="[3.4.0.v20160404-1158,3.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.feature.jar" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.tests" version="1.6.100.v20151019-2042">
<update id="org.eclipse.equinox.p2.tests" range="[0.0.0,1.6.100.v20151019-2042)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Tests (Incubation)"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.tests"/>
<property name="maven-version" value="1.6.100-SNAPSHOT"/>
</properties>
<provides size="18">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests" version="1.6.100.v20151019-2042"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests" version="1.6.100.v20151019-2042"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.artifact.repository" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.artifact.repository.processing" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.director" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.directorywatcher" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.embeddedequinox" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.engine" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.full" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.generator" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.metadata" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.metadata.repository" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.publisher" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.publisher.actions" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.tests.simpleconfigurator" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="89">
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.easymock" range="2.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.test" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.8.0"/>
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.installer" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatechecker" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests.verifier" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="2.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatesite" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.garbagecollector" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.sat4j.core" range="2.2.0"/>
<required namespace="osgi.bundle" name="org.sat4j.pb" range="2.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer" range="4.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.identity" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="3.2.200"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.7.1"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.transport.ecf" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.eclipse" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations" range="2.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk.scheduler" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.ant.core" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.ecf.filetransfer" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.processors.md5" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.processors.pack200" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director.app" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.extensionlocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor.verifier" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.index" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.query" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository.io" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.natives" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.natives.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.update" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.directorywatcher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.comparator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.tools" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.io" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.spi.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.internal.provisional.equinox.p2.jarprocessor" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.urlconversion" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.tests" version="1.6.100.v20151019-2042"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.tests;singleton:=true
Bundle-Version: 1.6.100.v20151019-2042
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.common.source" version="3.8.0.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.common.source" range="[0.0.0,3.8.0.v20160324-1850)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Common Eclipse Runtime Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.common"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common.source" version="3.8.0.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.common.source" version="3.8.0.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.common.source" version="3.8.0.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.common.source
Bundle-Version: 3.8.0.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.source" version="3.12.0.v20160411-2246" singleton="false">
<update id="org.eclipse.jface.source" range="[0.0.0,3.12.0.v20160411-2246)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.source" version="3.12.0.v20160411-2246"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.source" version="3.12.0.v20160411-2246"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.source" version="3.12.0.v20160411-2246"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.source
Bundle-Version: 3.12.0.v20160411-2246
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.repository.source" version="2.3.200.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.repository.source" range="[0.0.0,2.3.200.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Repository Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.repository"/>
<property name="maven-version" value="2.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.source" version="2.3.200.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.source" version="2.3.200.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.repository.source" version="2.3.200.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.repository.source
Bundle-Version: 2.3.200.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.navigator.resources.source" version="3.5.100.v20160406-0821" singleton="false">
<update id="org.eclipse.ui.navigator.resources.source" range="[0.0.0,3.5.100.v20160406-0821)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Navigator Workbench Components Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.navigator.resources"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.resources.source" version="3.5.100.v20160406-0821"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources.source" version="3.5.100.v20160406-0821"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.navigator.resources.source" version="3.5.100.v20160406-0821"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.navigator.resources.source
Bundle-Version: 3.5.100.v20160406-0821
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.x86" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.x86" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.x86" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.cocoa.macosx.x86_64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.cocoa.macosx.x86_64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.cocoa.macosx.x86_64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:Eclipse.app/Contents/MacOS/eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.rcp.feature.source.feature.group" version="1.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.rcp.feature.source.feature.group" range="[0.0.0,1.2.200.v20160317-1257)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.rcp.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 RCP Management Facilities Source"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.source.feature.group" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.source" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler.source" range="[1.2.100.v20150907-2149,1.2.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker.source" range="[1.1.200.v20131119-0908,1.1.200.v20131119-0908]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui.source" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.source" range="[1.0.400.v20150423-1455,1.0.400.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.source.feature.jar" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.core.tests.runtime" version="3.11.0.v20160319-0534">
<update id="org.eclipse.core.tests.runtime" range="[0.0.0,3.11.0.v20160319-0534)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Core Tests Runtime"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.tests.runtime"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.runtime" version="3.11.0.v20160319-0534"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.tests.runtime" version="3.11.0.v20160319-0534"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.runtime.jobs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.runtime.perf" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.runtime.session" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="3.11.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.tests.runtime" version="3.11.0.v20160319-0534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.tests.runtime; singleton:=true
Bundle-Version: 3.11.0.v20160319-0534
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.httpcomponents.httpclient" version="4.3.6.v201511171540" singleton="false">
<update id="org.apache.httpcomponents.httpclient" range="[0.0.0,4.3.6.v201511171540)" severity="0"/>
<properties size="4">
<property name="df_LT.Bundle-Name" value="Apache HttpComponents HttpClient"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
</properties>
<provides size="35">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.httpcomponents.httpclient" version="4.3.6.v201511171540"/>
<provided namespace="osgi.bundle" name="org.apache.httpcomponents.httpclient" version="4.3.6.v201511171540"/>
<provided namespace="java.package" name="org.apache.http.auth" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.auth.params" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.cache" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.config" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.entity" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.fluent" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.methods" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.params" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.protocol" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.client.utils" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.conn" version="4.3.4"/>
<provided namespace="java.package" name="org.apache.http.conn.params" version="4.3.4"/>
<provided namespace="java.package" name="org.apache.http.conn.routing" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.conn.scheme" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.conn.socket" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.conn.ssl" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.conn.util" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.cookie" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.cookie.params" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.entity.mime" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.entity.mime.content" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.auth" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.client" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.client.cache" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.client.cache.ehcache" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.client.cache.memcached" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.conn" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.conn.tsccm" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.cookie" version="4.3.6"/>
<provided namespace="java.package" name="org.apache.http.impl.execchain" version="4.3.6"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.net" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.x500" range="0.0.0"/>
<required namespace="java.package" name="net.sf.ehcache" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="net.spy.memcached" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.commons.codec.binary" range="1.6.0"/>
<required namespace="java.package" name="org.apache.commons.logging" range="1.1.1"/>
<required namespace="java.package" name="org.apache.http" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.concurrent" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.config" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.entity" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.impl" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.impl.io" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.io" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.message" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.params" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.pool" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.protocol" range="4.3.3"/>
<required namespace="java.package" name="org.apache.http.util" range="4.3.3"/>
<required namespace="java.package" name="org.ietf.jgss" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.httpcomponents.httpclient" version="4.3.6.v201511171540"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.httpcomponents.httpclient
Bundle-Version: 4.3.6.v201511171540
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" version="3.13.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" range="[0.0.0,3.13.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Httpclient4 Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.source" range="[1.1.100.v20160312-0656,1.1.100.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.jar" range="[3.13.0.v20160312-0656,3.13.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2011 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf" version="3.8.0.v20160312-0656">
<update id="org.eclipse.ecf" range="[0.0.0,3.8.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Core API"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf" version="3.8.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf" version="3.8.0.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.core" version="3.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.events" version="3.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.jobs" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.provider" version="3.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.security" version="3.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.start" version="3.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.status" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.user" version="3.1.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.util" version="3.5.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.util.reflection" version="2.3.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.core" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.identity" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.concurrent.future" range="1.0.0" optional="true"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf" version="3.8.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf;singleton:=true
Bundle-Version: 3.8.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.junit" version="4.12.0.v201504281640" singleton="false">
<update id="org.junit" range="[0.0.0,4.12.0.v201504281640)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="JUnit Testing Framework"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="34">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.junit" version="4.12.0.v201504281640"/>
<provided namespace="osgi.bundle" name="org.junit" version="4.12.0.v201504281640"/>
<provided namespace="java.package" name="junit.extensions" version="4.12.0"/>
<provided namespace="java.package" name="junit.framework" version="4.12.0"/>
<provided namespace="java.package" name="junit.runner" version="4.12.0"/>
<provided namespace="java.package" name="junit.textui" version="4.12.0"/>
<provided namespace="java.package" name="org.junit" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.categories" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.max" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.results" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.runners" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.theories" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.theories.internal" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.experimental.theories.suppliers" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.builders" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.matchers" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.requests" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.runners" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.runners.model" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.runners.rules" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.internal.runners.statements" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.matchers" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.rules" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runner" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runner.manipulation" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runner.notification" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runners" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runners.model" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.runners.parameterized" version="4.12.0"/>
<provided namespace="java.package" name="org.junit.validator" version="4.12.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.junit" version="4.12.0.v201504281640"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.junit
Bundle-Version: 4.12.0.v201504281640
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.build.tests" version="1.1.700.v20160204-0642">
<update id="org.eclipse.pde.build.tests" range="[0.0.0,1.1.700.v20160204-0642)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Tests Plug-in"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.build.tests"/>
<property name="maven-version" value="1.1.700-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build.tests" version="1.1.700.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.build.tests" version="1.1.700.v20160204-0642"/>
<provided namespace="java.package" name="org.eclipse.pde.build.internal.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.build.internal.tests.ant" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.build.internal.tests.p2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.build.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="24">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.build" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.eclipse" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.tools" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="2.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.build.tests" version="1.1.700.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.build.tests;singleton:=true
Bundle-Version: 1.1.700.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.browser.demos" version="3.105.0.v20160115-0826">
<update id="org.eclipse.swt.examples.browser.demos" range="[0.0.0,3.105.0.v20160115-0826)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin.SWTBrowserDemos.name" value="SWT Browser Demos Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.SWTBrowserDemos.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.browser.demos"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.browser.demos" version="3.105.0.v20160115-0826"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.browser.demos" version="3.105.0.v20160115-0826"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.browser.demos" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.browser.demos.views" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.browser.demos" version="3.105.0.v20160115-0826"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.browser.demos; singleton:=true
Bundle-Version: 3.105.0.v20160115-0826
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.ui.source" version="3.6.200.v20160329-1410" singleton="false">
<update id="org.eclipse.ant.ui.source" range="[0.0.0,3.6.200.v20160329-1410)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Ant UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.ui"/>
<property name="maven-version" value="3.6.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.ui.source" version="3.6.200.v20160329-1410"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.ui.source" version="3.6.200.v20160329-1410"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.ui.source" version="3.6.200.v20160329-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.ui.source
Bundle-Version: 3.6.200.v20160329-1410
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples_root" version="3.5.600.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples_root" version="3.5.600.v20160417-1515"/>
</provides>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.examples_root" version="3.5.600.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.user.ui.feature.group" version="2.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.user.ui.feature.group" range="[0.0.0,2.2.200.v20160317-1257)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.user.ui"/>
<property name="maven-version" value="2.2.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, Provisioning for IDEs."/>
<property name="df_LT.description" value="Eclipse p2 Provisioning Platform for use in IDE related scenarios"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" version="2.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite" range="[1.0.500.v20150907-2149,1.0.500.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport" range="[1.1.200.v20160102-2223,1.1.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.jar" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.apache.lucene.core.source" version="3.5.0.v20120725-1805" singleton="false">
<update id="org.apache.lucene.core.source" range="[0.0.0,3.5.0.v20120725-1805)" severity="0"/>
<properties size="5">
<property name="df_LT.bundle.name" value="Apache Lucene Core Source"/>
<property name="df_LT.provider.name" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundle.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider.name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.core.source" version="3.5.0.v20120725-1805"/>
<provided namespace="osgi.bundle" name="org.apache.lucene.core.source" version="3.5.0.v20120725-1805"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.lucene.core.source" version="3.5.0.v20120725-1805"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.lucene.core.source
Bundle-Version: 3.5.0.v20120725-1805
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.forms.source" version="3.7.0.v20160310-0900" singleton="false">
<update id="org.eclipse.ui.forms.source" range="[0.0.0,3.7.0.v20160310-0900)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Forms Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.forms"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.forms.source" version="3.7.0.v20160310-0900"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.forms.source" version="3.7.0.v20160310-0900"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.forms.source" version="3.7.0.v20160310-0900"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.forms.source
Bundle-Version: 3.7.0.v20160310-0900
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.lucene.core" version="3.5.0.v20120725-1805" singleton="false">
<update id="org.apache.lucene.core" range="[0.0.0,3.5.0.v20120725-1805)" severity="0"/>
<properties size="5">
<property name="df_LT.bundle.name" value="Apache Lucene Core"/>
<property name="df_LT.provider.name" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundle.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider.name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="22">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.core" version="3.5.0.v20120725-1805"/>
<provided namespace="osgi.bundle" name="org.apache.lucene.core" version="3.5.0.v20120725-1805"/>
<provided namespace="java.package" name="org.apache.lucene" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.standard" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.standard.std31" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.tokenattributes" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.collation" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.document" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.index" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.messages" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.queryParser" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.search" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.search.function" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.search.payloads" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.search.spans" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.store" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.util" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.util.fst" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.util.packed" version="3.5.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.lucene.core" version="3.5.0.v20120725-1805"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.lucene.core
Bundle-Version: 3.5.0.v20120725-1805
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.platform.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.5.0.v20160415-1410" singleton="false">
<update id="org.eclipse.e4.rcp.source.feature.group" range="[0.0.0,1.5.0.v20160415-1410)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.e4.feature"/>
<property name="maven-artifactId" value="org.eclipse.e4.rcp"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2016 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse 4 Rich Client Platform Developer Resources"/>
<property name="df_LT.description" value="The bundles typical required by Eclipse RCP applications as of version 4.0"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.source.feature.group" version="1.5.0.v20160415-1410"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="78">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.feature.group" range="[1.5.0.v20160415-1410,1.5.0.v20160415-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.services.source" range="[2.0.0.v20160319-0607,2.0.0.v20160319-0607]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.swt.source" range="[0.14.0.v20160411-2100,0.14.0.v20160411-2100]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands.source" range="[0.11.0.v20160408-1229,0.11.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings.source" range="[0.11.0.v20160310-1055,0.11.0.v20160310-1055]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.model.workbench.source" range="[1.2.0.v20160229-1459,1.2.0.v20160229-1459]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.services.source" range="[1.2.0.v20160408-1229,1.2.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.source" range="[0.14.0.v20160414-0710,0.14.0.v20160414-0710]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.source" range="[1.4.0.v20160408-1229,1.4.0.v20160408-1229]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.core.source" range="[0.11.0.v20160414-1245,0.11.0.v20160414-1245]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.source" range="[0.12.0.v20160412-1804,0.12.0.v20160412-1804]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.css.source" range="[1.7.0.v201011041433,1.7.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.css.sac.source" range="[1.3.1.v200903091627,1.3.1.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.source" range="[1.7.0.v201011041433,1.7.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.svg.source" range="[1.1.0.v201011041433,1.1.0.v201011041433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.smil.source" range="[1.0.1.v200903091627,1.0.1.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.events.source" range="[3.0.0.draft20060413_v201105210656,3.0.0.draft20060413_v201105210656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.inject.source" range="[1.0.0.v20091030,1.0.0.v20091030]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.annotation.source" range="[1.2.0.v201602091430,1.2.0.v201602091430]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.source" range="[1.6.0.v20160319-0612,1.6.0.v20160319-0612]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.contexts.source" range="[1.5.0.v20160319-0608,1.5.0.v20160319-0608]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.gui.source" range="[1.7.0.v200903091627,1.7.0.v200903091627]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.extensions.source" range="[0.14.0.v20160211-1614,0.14.0.v20160211-1614]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.theme.source" range="[0.10.0.v20160401-0625,0.10.0.v20160401-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.di.source" range="[1.1.0.v20150922-1735,1.1.0.v20150922-1735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.widgets.source" range="[1.1.0.v20150813-1519,1.1.0.v20150813-1519]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" range="[0.11.300.v20160330-1418,0.11.300.v20160330-1418]">
<filter>
            (&amp;(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common.source" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds.source" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event.source" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.commands.source" range="[3.8.0.v20160316-1921,3.8.0.v20160316-1921]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.contenttype.source" range="[3.5.100.v20160319-0604,3.5.100.v20160319-0604]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.source" range="[1.6.0.v20160412-0910,1.6.0.v20160412-0910]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.beans.source" range="[1.3.0.v20160226-1513,1.3.0.v20160226-1513]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.observable.source" range="[1.6.0.v20160331-0824,1.6.0.v20160331-0824]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.property.source" range="[1.6.0.v20160415-1410,1.6.0.v20160415-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions.source" range="[3.5.100.v20160413-0851,3.5.100.v20160413-0851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs.source" range="[3.8.0.v20160319-0610,3.8.0.v20160319-0610]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.source" range="[3.12.0.v20160329-1217,3.12.0.v20160329-1217]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app.source" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.source" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.ibm.icu.source" range="[56.1.0.v201601250100,56.1.0.v201601250100]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences.source" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry.source" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.source" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.source" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state.source" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services.source" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390x.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.x86_64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64le.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86_64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.hpux.ia64.source" range="[3.105.0.v20160412-0750,3.105.0.v20160412-0750]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util.source" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.source" range="[3.12.0.v20160411-2246,3.12.0.v20160411-2246]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.databinding.source" range="[1.8.0.v20160329-1916,1.8.0.v20160329-1916]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench3.source" range="[0.13.0.v20150727-1801,0.13.0.v20150727-1801]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command.source" range="[0.10.0.v201209301215,0.10.0.v201209301215]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime.source" range="[0.10.0.v201209301036,0.10.0.v201209301036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell.source" range="[0.10.0.v201212101605,0.10.0.v201212101605]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.source" range="[1.1.200.v20150929-1405,1.1.200.v20150929-1405]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.addons.swt.source" range="[1.2.0.v20160401-1236,1.2.0.v20160401-1236]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi.source" range="[1.0.0.v20160307-1318,1.0.0.v20160307-1318]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.dialogs.source" range="[1.1.0.v20151127-1218,1.1.0.v20151127-1218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.jxpath.source" range="[1.3.0.v200911051830,1.3.0.v200911051830]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.emf.xpath.source" range="[0.1.100.v20151005-1655,0.1.100.v20151005-1655]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.annotations.source" range="[1.5.0.v20151127-1241,1.5.0.v20151127-1241]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.swt.gtk.source" range="[1.0.100.v20160301-1001,1.0.100.v20160301-1001]">
<filter>
            (osgi.ws=gtk)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.source.feature.jar" range="[1.5.0.v20160415-1410,1.5.0.v20160415-1410]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.jdt.annotation" version="2.1.0.v20160320-2244" singleton="false">
<update id="org.eclipse.jdt.annotation" range="[0.0.0,2.1.0.v20160320-2244)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="JDT Annotations for Enhanced Null Analysis"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="bundle"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.annotation"/>
<property name="maven-version" value="2.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation" version="2.1.0.v20160320-2244"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.annotation" version="2.1.0.v20160320-2244"/>
<provided namespace="java.package" name="org.eclipse.jdt.annotation" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.annotation" version="2.1.0.v20160320-2244"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.annotation
Bundle-Version: 2.1.0.v20160320-2244
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide" version="4.7.0.I20160417-1515">
<update id="org.eclipse.platform.ide" range="[4.0.0,4.7.0.I20160417-1515)" severity="0" description="An update for 4.x generation Eclipse Platform."/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Platform"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="org.eclipse.equinox.p2.description" value="Initial Neon Release of the Eclipse Platform."/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="11">
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.application" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.configuration" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.configuration.macosx" range="[1.0.0,1.0.0]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.configuration" range="[1.0.0,1.0.0]">
<filter>
            (!(osgi.os=macosx))
          </filter>
</required>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="configure">
            addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:0,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);mkdir(path:${installFolder}/dropins);
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.

Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jsch.core" version="1.3.0.v20160323-1650">
<update id="org.eclipse.jsch.core" range="[0.0.0,1.3.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JSch Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jsch"/>
<property name="maven-artifactId" value="org.eclipse.jsch.core"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.core" version="1.3.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.jsch.core" version="1.3.0.v20160323-1650"/>
<provided namespace="java.package" name="org.eclipse.jsch.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jsch.internal.core" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.jcraft.jsch" range="[0.1.50,1.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jsch.core" version="1.3.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jsch.core;singleton:=true
Bundle-Version: 1.3.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.services.source" version="4.5.0.v20160211-2017" singleton="false">
<update id="org.eclipse.e4.tools.services.source" range="[0.0.0,4.5.0.v20160211-2017)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Services Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.services"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.services.source" version="4.5.0.v20160211-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.services.source" version="4.5.0.v20160211-2017"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.services.source" version="4.5.0.v20160211-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.services.source
Bundle-Version: 4.5.0.v20160211-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.views.source" version="3.105.0.v20150928-1000" singleton="false">
<update id="org.eclipse.swt.examples.views.source" range="[0.0.0,3.105.0.v20150928-1000)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="SWT Views Example Plugin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.views"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.views.source" version="3.105.0.v20150928-1000"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.views.source" version="3.105.0.v20150928-1000"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.views.source" version="3.105.0.v20150928-1000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.views.source
Bundle-Version: 3.105.0.v20150928-1000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.x86_64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.x86_64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.x86_64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.intro" version="3.5.0.v20160416-0844">
<update id="org.eclipse.ui.intro" range="[0.0.0,3.5.0.v20160416-0844)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin_name" value="Welcome Framework"/>
<property name="df_LT.provider_name" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider_name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="17">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro" version="3.5.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro" version="3.5.0.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.html" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.model.loader" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.model.url" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.model.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.model.viewer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.parts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.presentations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.intro.impl.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.intro.config" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.intro.contentproviders" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="[4.0.0,5.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.200"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform.dom" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.transform.stream" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.di.annotations" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.emf.common" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.emf.ecore" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro" version="3.5.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro; singleton:=true
Bundle-Version: 3.5.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer HttpComponents SSL Fragment Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" version="1.1.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source
Bundle-Version: 1.1.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.navigator" version="3.5.0.v20160407-1635">
<update id="org.eclipse.ui.tests.navigator" range="[0.0.0,3.5.0.v20160407-1635)" severity="0"/>
<properties size="7">
<property name="df_LT.bundlename" value="Common Navigator Tests"/>
<property name="org.eclipse.equinox.p2.name" value="%bundlename"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.navigator"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.navigator" version="3.5.0.v20160407-1635"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.navigator" version="3.5.0.v20160407-1635"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.navigator" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.navigator" version="3.5.0.v20160407-1635"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.navigator;singleton:=true
Bundle-Version: 3.5.0.v20160407-1635
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit4.runtime" version="1.1.500.v20151129-1935">
<update id="org.eclipse.jdt.junit4.runtime" range="[0.0.0,1.1.500.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools JUnit4 Runtime Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit4.runtime"/>
<property name="maven-version" value="1.1.500-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit4.runtime" version="1.1.500.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit4.runtime" version="1.1.500.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit4.runner" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.junit" range="4.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" range="[3.4.200,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit4.runtime" version="1.1.500.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit4.runtime;singleton:=true
Bundle-Version: 1.1.500.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.annotations.source" version="1.0.100.v20160204-0642" singleton="false">
<update id="org.eclipse.pde.api.tools.annotations.source" range="[0.0.0,1.0.100.v20160204-0642)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE API Tools Annotations Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.annotations"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.annotations.source" version="1.0.100.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.annotations.source" version="1.0.100.v20160204-0642"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.annotations.source" version="1.0.100.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.annotations.source
Bundle-Version: 1.0.100.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.rcp.feature.jar" version="1.5.0.v20160415-1410">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2016 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse 4 Rich Client Platform"/>
<property name="df_LT.description" value="The bundles typical required by Eclipse RCP applications as of version 4.0"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.e4.feature"/>
<property name="maven-artifactId" value="org.eclipse.e4.rcp"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.feature.jar" version="1.5.0.v20160415-1410"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.e4.rcp" version="1.5.0.v20160415-1410"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.e4.rcp" version="1.5.0.v20160415-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.win32.source" version="3.2.500.v20160108-1409" singleton="false">
<update id="org.eclipse.ui.win32.source" range="[0.0.0,3.2.500.v20160108-1409)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI Win32 Enhancements Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.win32"/>
<property name="maven-version" value="3.2.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.win32.source" version="3.2.500.v20160108-1409"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.win32.source" version="3.2.500.v20160108-1409"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.win32.source" version="3.2.500.v20160108-1409"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.win32.source
Bundle-Version: 3.2.500.v20160108-1409
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.transforms.hook" version="1.1.0.v20131021-1933" singleton="false">
<update id="org.eclipse.equinox.transforms.hook" range="[0.0.0,1.1.0.v20131021-1933)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Transformer Hook Framework Extension"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="transformsHook"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.transforms.hook"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.hook" version="1.1.0.v20131021-1933"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.transforms.hook" version="1.1.0.v20131021-1933"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.transforms" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.osgi" version="1.1.0.v20131021-1933"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.10.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.transforms.hook" version="1.1.0.v20131021-1933"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.transforms.hook
Bundle-Version: 1.1.0.v20131021-1933
Fragment-Host: org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit.source" version="3.9.0.v20151129-1935" singleton="false">
<update id="org.eclipse.jdt.junit.source" range="[0.0.0,3.9.0.v20151129-1935)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools JUnit support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.source" version="3.9.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit.source" version="3.9.0.v20151129-1935"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit.source" version="3.9.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit.source
Bundle-Version: 3.9.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.installer" version="1.0.500.v20160102-2223">
<update id="org.eclipse.equinox.p2.installer" range="[0.0.0,1.0.500.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Installer"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.installer"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.installer" version="1.0.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.installer" version="1.0.500.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.installer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.installer.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.installer" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.app" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="[1.1.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="2.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.transport.ecf" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.installer" version="1.0.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.installer;singleton:=true
Bundle-Version: 1.0.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.aix.ppc64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.aix.ppc64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.aix.ppc64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.aix.ppc64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.aix.ppc64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.aix.ppc64;singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.core" version="3.4.0.v20160301-1403">
<update id="org.eclipse.ant.core" range="[0.0.0,3.4.0.v20160301-1403)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Ant Build Tool Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.core"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.core" version="3.4.0.v20160301-1403"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.core" version="3.4.0.v20160301-1403"/>
<provided namespace="java.package" name="org.eclipse.ant.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.core.ant" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.core.contentDescriber" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.core" version="3.4.0.v20160301-1403"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.core; singleton:=true
Bundle-Version: 3.4.0.v20160301-1403
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" version="0.11.300.v20160330-1418" singleton="false">
<update id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" range="[0.0.0,0.11.300.v20160330-1418)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI MacOS X Enhancements Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.renderers.swt.cocoa"/>
<property name="maven-version" value="0.11.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" version="0.11.300.v20160330-1418"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" version="0.11.300.v20160330-1418"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source" version="0.11.300.v20160330-1418"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source
Bundle-Version: 0.11.300.v20160330-1418
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ua.ui.source" version="1.1.0.v20160323-1149" singleton="false">
<update id="org.eclipse.pde.ua.ui.source" range="[0.0.0,1.1.0.v20160323-1149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE UA UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ua.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.ui.source" version="1.1.0.v20160323-1149"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ua.ui.source" version="1.1.0.v20160323-1149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ua.ui.source" version="1.1.0.v20160323-1149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ua.ui.source
Bundle-Version: 1.1.0.v20160323-1149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.views.properties.tabbed.article" version="3.2.1.v20160330-1438">
<update id="org.eclipse.ui.examples.views.properties.tabbed.article" range="[0.0.0,3.2.1.v20160330-1438)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Tabbed Properties View Article Example"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.views.properties.tabbed.article"/>
<property name="maven-version" value="3.2.1-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.views.properties.tabbed.article" version="3.2.1.v20160330-1438"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.views.properties.tabbed.article" version="3.2.1.v20160330-1438"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views.properties.tabbed" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.views.properties.tabbed.article" version="3.2.1.v20160330-1438"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.article; singleton:=true
Bundle-Version: 3.2.1.v20160330-1438
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.1.v20140424-1723" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.feature.feature.group" range="[0.0.0,1.0.1.v20140424-1723)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.feature"/>
<property name="maven-version" value="1.0.1-SNAPSHOT"/>
<property name="df_LT.featureName" value="API Tools Execution Environment Descriptions"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.description" value="This feature provides API Tools Execution Environment Descriptions for the following environments:&#10;JRE-1.1, J2SE-1.2, J2SE-1.3, J2SE-1.4, J2SE-1.5, JavaSE-1.6, JavaSE-1.7, JavaSE-1.8, CDC-1.0/Foundation-1.0, &#10;CDC-1.1/Foundation-1.1, OSGi/Minimum-1.0, OSGi/Minimum-1.1, OSGi/Minimum-1.2"/>
<property name="df_LT.copyright" value="Copyright (c) 2012 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.feature.feature.group" version="1.0.1.v20140424-1723"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.cdcfoundation10" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.cdcfoundation11" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se12" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se13" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se14" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.j2se15" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase16" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase17" range="[1.0.100.v20130327-1631,1.0.100.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.jre11" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum10" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum11" range="[1.0.200.v20130327-1631,1.0.200.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum12" range="[1.0.300.v20130327-1631,1.0.300.v20130327-1631]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase18" range="[1.0.0.v20140306-1849,1.0.0.v20140306-1849]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.feature.feature.jar" range="[1.0.1.v20140424-1723,1.0.1.v20140424-1723]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.help.ui" version="4.0.100.v20151202-2026">
<update id="org.eclipse.help.ui" range="[0.0.0,4.0.100.v20151202-2026)" severity="0"/>
<properties size="8">
<property name="df_LT.help_system_plugin_name" value="Help System UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%help_system_plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.ui"/>
<property name="maven-version" value="4.0.100-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.ui" version="4.0.100.v20151202-2026"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.ui" version="4.0.100.v20151202-2026"/>
<provided namespace="java.package" name="org.eclipse.help.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.browser.embedded" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.dynamic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.help.ui.internal.views" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="[4.0.0,5.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.200"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.ui" version="4.0.100.v20151202-2026"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.ui; singleton:=true
Bundle-Version: 4.0.100.v20151202-2026
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.core.source" version="3.4.100.v20160405-1556" singleton="false">
<update id="org.eclipse.jdt.apt.core.source" range="[0.0.0,3.4.100.v20160405-1556)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Annotation Processing Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.core"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.core.source" version="3.4.100.v20160405-1556"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.core.source" version="3.4.100.v20160405-1556"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.core.source" version="3.4.100.v20160405-1556"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.core.source
Bundle-Version: 3.4.100.v20160405-1556
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id" version="4.7.0.I20160417-1515">
<update id="org.eclipse.rcp.id" range="0.0.0" severity="0"/>
<properties size="3">
<property name="org.eclipse.equinox.p2.name" value="Eclipse RCP"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="8">
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.application" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.configuration" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.

Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="org.eclipse.e4.ui.workbench3.source" version="0.13.0.v20150727-1801" singleton="false">
<update id="org.eclipse.e4.ui.workbench3.source" range="[0.0.0,0.13.0.v20150727-1801)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Bundle for Workbench APIs available in e4 Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench3"/>
<property name="maven-version" value="0.13.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench3.source" version="0.13.0.v20150727-1801"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench3.source" version="0.13.0.v20150727-1801"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench3.source" version="0.13.0.v20150727-1801"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench3.source
Bundle-Version: 0.13.0.v20150727-1801
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.linux.ppc64" version="1.4.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.linux.ppc64" range="[0.0.0,1.4.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Linux PPC 64 bit"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.linux.ppc64"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc64" version="1.4.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.linux.ppc64" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.linux.ppc64" version="1.4.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.linux.ppc64;singleton:=true
Bundle-Version: 1.4.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.ssh2.source" version="3.3.0.v20160404-1158" singleton="false">
<update id="org.eclipse.team.cvs.ssh2.source" range="[0.0.0,3.3.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="CVS SSH2 Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.ssh2"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ssh2.source" version="3.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.ssh2.source" version="3.3.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.ssh2.source" version="3.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.ssh2.source
Bundle-Version: 3.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.mockito" version="1.8.4.v201303031500" singleton="false">
<update id="org.mockito" range="[0.0.0,1.8.4.v201303031500)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Java Mocking and Stubbing Framework"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="16">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.mockito" version="1.8.4.v201303031500"/>
<provided namespace="osgi.bundle" name="org.mockito" version="1.8.4.v201303031500"/>
<provided namespace="java.package" name="org.mockito" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.configuration" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.exceptions" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.exceptions.base" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.exceptions.misusing" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.exceptions.verification" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.exceptions.verification.junit" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.invocation" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.runners" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.stubbing" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.stubbing.answers" version="1.8.4"/>
<provided namespace="java.package" name="org.mockito.verification" version="1.8.4"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="java.package" name="junit.framework" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.tools.ant" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.tools.ant.types" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.hamcrest" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.junit" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.internal.runners" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.runner" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.runner.manipulation" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.runner.notification" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.runners" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.junit.runners.model" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.objenesis" range="[1.0.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.mockito" version="1.8.4.v201303031500"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.mockito
Bundle-Version: 1.8.4.v201303031500
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filebuffers.source" version="3.6.0.v20160308-1118" singleton="false">
<update id="org.eclipse.core.filebuffers.source" range="[0.0.0,3.6.0.v20160308-1118)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="File Buffers Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filebuffers"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers.source" version="3.6.0.v20160308-1118"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filebuffers.source" version="3.6.0.v20160308-1118"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filebuffers.source" version="3.6.0.v20160308-1118"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filebuffers.source
Bundle-Version: 3.6.0.v20160308-1118
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.director.app.source" version="1.0.500.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.director.app.source" range="[0.0.0,1.0.500.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Director Application Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.director.app"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app.source" version="1.0.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.director.app.source" version="1.0.500.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.director.app.source" version="1.0.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.director.app.source
Bundle-Version: 1.0.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.source" version="1.6.0.v20160412-0910" singleton="false">
<update id="org.eclipse.core.databinding.source" range="[0.0.0,1.6.0.v20160412-0910)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.source" version="1.6.0.v20160412-0910"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.source" version="1.6.0.v20160412-0910"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.source" version="1.6.0.v20160412-0910"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.source
Bundle-Version: 1.6.0.v20160412-0910
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.server.jetty.feature.group" version="1.3.0.v20160413-1503" singleton="false">
<update id="org.eclipse.equinox.server.jetty.feature.group" range="[0.0.0,1.3.0.v20160413-1503)" severity="0"/>
<properties size="10">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.jetty"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="Jetty Http Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.jetty.feature.group" version="1.3.0.v20160413-1503"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet" range="[3.1.0.v201410161800,3.1.0.v201410161800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty" range="[3.3.0.v20160324-1850,3.3.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.jetty.feature.jar" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.weaving.caching.j9.source" version="1.0.200.v20140529-1734" singleton="false">
<update id="org.eclipse.equinox.weaving.caching.j9.source" range="[0.0.0,1.0.200.v20140529-1734)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="J9 CachingService Plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.caching.j9"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.j9.source" version="1.0.200.v20140529-1734"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.caching.j9.source" version="1.0.200.v20140529-1734"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.caching.j9.source" version="1.0.200.v20140529-1734"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.caching.j9.source
Bundle-Version: 1.0.200.v20140529-1734
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.dialogs" version="1.1.0.v20151127-1218" singleton="false">
<update id="org.eclipse.e4.ui.dialogs" range="[0.0.0,1.1.0.v20151127-1218)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 dialogs"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.dialogs"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.dialogs" version="1.1.0.v20151127-1218"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.dialogs" version="1.1.0.v20151127-1218"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.dialogs.filteredtree" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.dialogs.textbundles" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.jface" range="3.11.0"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.10.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.dialogs" version="1.1.0.v20151127-1218"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.dialogs
Bundle-Version: 1.1.0.v20151127-1218
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.ssh2" version="3.3.0.v20160404-1158">
<update id="org.eclipse.team.cvs.ssh2" range="[0.0.0,3.3.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="CVS SSH2"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.ssh2"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ssh2" version="3.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.ssh2" version="3.3.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ssh2" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.jcraft.jsch" range="[0.1.50,1.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jsch.core" range="[1.1.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.ssh2" version="3.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.ssh2; singleton:=true
Bundle-Version: 3.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.util.source" version="1.0.500.v20130404-1337" singleton="false">
<update id="org.eclipse.equinox.util.source" range="[0.0.0,1.0.500.v20130404-1337)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Util Bundle Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.util"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util.source" version="1.0.500.v20130404-1337"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.util.source" version="1.0.500.v20130404-1337"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.util.source" version="1.0.500.v20130404-1337"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.util.source
Bundle-Version: 1.0.500.v20130404-1337
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools" version="1.1.0.v20160411-1552">
<update id="org.eclipse.pde.api.tools" range="[0.0.0,1.1.0.v20160411-1552)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="API Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="22">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools" version="1.1.0.v20160411-1552"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools" version="1.1.0.v20160411-1552"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.builder" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.comparator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.descriptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.natures" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.problems" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.builder" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.comparator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.descriptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.problems" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.scanner" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.provisional.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.internal.util.profiles" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.3.102,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.1.300,4.0.0)"/>
<required namespace="osgi.bundle" name="org.objectweb.asm" range="[5.0.1,6.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.objectweb.asm.tree" range="[5.0.1,6.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools" version="1.1.0.v20160411-1552"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools;singleton:=true
Bundle-Version: 1.1.0.v20160411-1552
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui" version="2.4.100.v20160317-1257">
<update id="org.eclipse.equinox.p2.ui" range="[0.0.0,2.4.100.v20160317-1257)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning UI Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui" version="2.4.100.v20160317-1257"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" version="2.4.100.v20160317-1257"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.misc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.query" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.viewers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.ui" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="32">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.107.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.security.ui" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui" version="2.4.100.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui;singleton:=true
Bundle-Version: 2.4.100.v20160317-1257
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.jarprocessor" version="1.0.400.v20150907-2149">
<update id="org.eclipse.equinox.p2.jarprocessor" range="[0.0.0,1.0.400.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning JAR Processor"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.jarprocessor"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor" version="1.0.400.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.jarprocessor" version="1.0.400.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor.unsigner" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor.verifier" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.internal.provisional.equinox.p2.jarprocessor" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.3.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.jarprocessor" version="1.0.400.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor;singleton:=true
Bundle-Version: 1.0.400.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.swt.source" version="0.14.0.v20160411-2100" singleton="false">
<update id="org.eclipse.e4.ui.workbench.swt.source" range="[0.0.0,0.14.0.v20160411-2100)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 Workbench SWT Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.swt"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.swt.source" version="0.14.0.v20160411-2100"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt.source" version="0.14.0.v20160411-2100"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.swt.source" version="0.14.0.v20160411-2100"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.swt.source
Bundle-Version: 0.14.0.v20160411-2100
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);addJvmArg(jvmArg:-XstartOnFirstThread);addJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);removeJvmArg(jvmArg:-XstartOnFirstThread);removeJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.identity" version="3.7.0.v20160312-0656">
<update id="org.eclipse.ecf.identity" range="[0.0.0,3.7.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Identity Core API"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity" version="3.7.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.identity" version="3.7.0.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.identity" version="3.3.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.core.util" version="3.4.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.core.identity" version="3.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.identity" version="3.7.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.identity;singleton:=true
Bundle-Version: 3.7.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.identity.source" version="3.7.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.identity.source" range="[0.0.0,3.7.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Identity Core API Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity.source" version="3.7.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.identity.source" version="3.7.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.identity.source" version="3.7.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.identity.source
Bundle-Version: 3.7.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.app.source" version="1.3.400.v20150715-1528" singleton="false">
<update id="org.eclipse.equinox.app.source" range="[0.0.0,1.3.400.v20150715-1528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Application Container Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.app"/>
<property name="maven-version" value="1.3.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app.source" version="1.3.400.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.app.source" version="1.3.400.v20150715-1528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.app.source" version="1.3.400.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.app.source
Bundle-Version: 1.3.400.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests" version="3.11.0.v20160411-2246">
<update id="org.eclipse.ui.tests" range="[0.0.0,3.11.0.v20160411-2246)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse UI Tests"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests" version="3.11.0.v20160411-2246"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests" version="3.11.0.v20160411-2246"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.api" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.menus" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="38">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.beans" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.10.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.addons.swt" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="3.3.100"/>
<required namespace="osgi.bundle" name="org.hamcrest" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.mockito" range="1.8.4"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests" version="3.11.0.v20160411-2246"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests; singleton:=true
Bundle-Version: 3.11.0.v20160411-2246
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.tests.cvs.core" version="3.4.0.v20160404-1158">
<update id="org.eclipse.team.tests.cvs.core" range="[0.0.0,3.4.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse CVS Tests Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.tests.cvs.core"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.tests.cvs.core" version="3.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.tests.cvs.core" version="3.4.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.compatible" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.cvsresources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.jsch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.mappings" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.mappings.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.mappings.model.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.core.subscriber" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ccvs.ui.benchmark" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.team.tests.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="1.3.100"/>
<required namespace="osgi.bundle" name="org.eclipse.jsch.core" range="1.1.200"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.tests.cvs.core" version="3.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.tests.cvs.core; singleton:=true
Bundle-Version: 3.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.tests.resources" version="3.9.100.v20160310-1713">
<update id="org.eclipse.core.tests.resources" range="[0.0.0,3.9.100.v20160310-1713)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Core Tests Resources"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.tests.resources"/>
<property name="maven-version" value="3.9.100-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.resources" version="3.9.100.v20160310-1713"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.tests.resources" version="3.9.100.v20160310-1713"/>
<provided namespace="java.package" name="org.eclipse.core.tests.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.alias" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.builders" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.dtree" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.bogus" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.broken" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.bug369177" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.ram" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.remote" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.filesystem.wrapper" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.localstore" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.propertytester" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.internal.watson" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.content" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.perf" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.refresh" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.regression" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.session" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.tests.resources.usecase" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.junit.runtime" range="3.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.tests.resources" version="3.9.100.v20160310-1713"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.tests.resources; singleton:=true
Bundle-Version: 3.9.100.v20160310-1713
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.batik.util.gui" version="1.7.0.v200903091627" singleton="false">
<update id="org.apache.batik.util.gui" range="[0.0.0,1.7.0.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik GUI Utilities"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.gui" version="1.7.0.v200903091627"/>
<provided namespace="osgi.bundle" name="org.apache.batik.util.gui" version="1.7.0.v200903091627"/>
<provided namespace="java.package" name="org.apache.batik.util.gui" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.gui.resource" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.gui.resources" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.gui.resources.flags" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.gui.xmleditor" version="1.7.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.util.gui" version="1.7.0.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.util.gui
Bundle-Version: 1.7.0.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration.feature.group" version="1.0.200.v20160417-1515" singleton="false">
<update id="org.eclipse.rcp.configuration.feature.group" range="[0.0.0,1.0.200.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.rcp.configuration"/>
<property name="maven-artifactId" value="org.eclipse.rcp.configuration"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Product Configuration"/>
<property name="df_LT.description" value="Configuration information for the Eclipse product"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration.feature.group" version="1.0.200.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration.feature.jar" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.aix.ppc64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.x86" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.win32.win32.x86_64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.aix.ppc" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.x86_64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.hpux.ia64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.s390x" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.cocoa.macosx.x86_64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.win32.win32.x86" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc64le" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.s390" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.solaris.x86_64" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423">
<update id="org.eclipse.emf.ecore" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="6">
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.pluginName" value="EMF Ecore"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="buckminster.build.id" value="S201603150423"/>
</properties>
<provides size="17">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.resource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.resource.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.namespace" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.namespace.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.namespace.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.type" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.type.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.type.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.ecore.xml.type.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)" optional="true"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.common" range="[2.12.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.datatype" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.namespace" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore;singleton:=true
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.sdk.feature.jar" version="3.9.200.v20160317-1257">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009, 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, SDK"/>
<property name="df_LT.description" value="All of the bundles and source that comprise the Equinox p2 provisioning platform. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.sdk"/>
<property name="maven-version" value="3.9.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.sdk.feature.jar" version="3.9.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.sdk" version="3.9.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.sdk" version="3.9.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.source.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.rcp.source.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.rcp.feature"/>
<property name="maven-artifactId" value="org.eclipse.rcp"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse RCP Plug-in Developer Resources"/>
<property name="df_LT.description" value="Source code zips for the Eclipse RCP."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.source.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source" range="[3.7.0.v20160407-1711,3.7.0.v20160407-1711]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.source" range="[3.107.0.v20160415-1308,3.107.0.v20160415-1308]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.source" range="[3.108.0.v20160415-1433,3.108.0.v20160415-1433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.configurator.source" range="[3.3.400.v20160413-1851,3.3.400.v20160413-1851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cocoa.source" range="[1.1.100.v20151202-1450,1.1.100.v20151202-1450]">
<filter>
            (&amp;(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.source.feature.group" range="[1.5.0.v20160415-1410,1.5.0.v20160415-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.source.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);addJvmArg(jvmArg:-XstartOnFirstThread);addJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);removeJvmArg(jvmArg:-XstartOnFirstThread);removeJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extras.feature.feature.jar" version="1.2.200.v20160317-1257">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Equinox p2, backward compatibility support"/>
<property name="df_LT.description" value="Provides some backward compatibility support (e.g. drop-ins, legacy update site) and the metadata generation facility."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extras.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.feature.jar" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.extras.feature" version="1.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.extras.feature" version="1.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.core.compiler.batch" version="3.12.0.v20160417-1322" singleton="false">
<update id="org.eclipse.jdt.core.compiler.batch" range="[0.0.0,3.12.0.v20160417-1322)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Compiler for Java(TM)"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="batch-compiler"/>
</properties>
<provides size="23">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.compiler.batch" version="3.12.0.v20160417-1322"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.compiler.batch" version="3.12.0.v20160417-1322"/>
<provided namespace="java.package" name="org.eclipse.jdt.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.compiler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.antadapter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.dispatch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.ast" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.batch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.classfmt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.codegen" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.env" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.flow" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.lookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.parser.diagnose" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.problem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.compiler.batch" version="3.12.0.v20160417-1322"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
Bundle-Version: 3.12.0.v20160417-1322
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.ssl.source" version="1.2.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.ssl.source" range="[0.0.0,1.2.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF SSL Fragment Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.ssl.source" version="1.2.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.ssl.source" version="1.2.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.ssl.source" version="1.2.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.ssl.source
Bundle-Version: 1.2.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.widgets.source" version="1.1.0.v20150813-1519" singleton="false">
<update id="org.eclipse.e4.ui.widgets.source" range="[0.0.0,1.1.0.v20150813-1519)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI Custom widgets Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.widgets"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.widgets.source" version="1.1.0.v20150813-1519"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.widgets.source" version="1.1.0.v20150813-1519"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.widgets.source" version="1.1.0.v20150813-1519"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.widgets.source
Bundle-Version: 1.1.0.v20150813-1519
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.text.tests" version="3.11.0.v20160404-2012" singleton="false">
<update id="org.eclipse.jface.text.tests" range="[0.0.0,3.11.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="JFace Text Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.text.tests"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.text.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.jface.text.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.tests.reconciler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.tests.rules" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text.tests" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.text.tests" version="3.11.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.text.tests
Bundle-Version: 3.11.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.views.source" version="3.8.0.v20160224-1855" singleton="false">
<update id="org.eclipse.ui.views.source" range="[0.0.0,3.8.0.v20160224-1855)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Views Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.source" version="3.8.0.v20160224-1855"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views.source" version="3.8.0.v20160224-1855"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views.source" version="3.8.0.v20160224-1855"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views.source
Bundle-Version: 3.8.0.v20160224-1855
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.compendium.sdk.feature.group" version="3.12.0.v20160413-1439" singleton="false">
<update id="org.eclipse.equinox.compendium.sdk.feature.group" range="[0.0.0,3.12.0.v20160413-1439)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.compendium.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Compendium SDK"/>
<property name="df_LT.description" value="A collection of Equinox bundles  and source that implement optional parts of the current OSGi specifications--the so called &amp;quot;Compendium Services&amp;quot;. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.compendium.sdk.feature.group" version="3.12.0.v20160413-1439"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="27">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app.source" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.coordinator" range="[1.3.200.v20160325-1323,1.3.200.v20160325-1323]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.coordinator.source" range="[1.3.200.v20160325-1323,1.3.200.v20160325-1323]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.cm" range="[1.1.200.v20160324-1850,1.1.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.cm.source" range="[1.1.200.v20160324-1850,1.1.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.device" range="[1.0.400.v20130327-1442,1.0.400.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.device.source" range="[1.0.400.v20130327-1442,1.0.400.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds.source" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event.source" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.io" range="[1.1.100.v20150430-1834,1.1.100.v20150430-1834]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.io.source" range="[1.1.100.v20150430-1834,1.1.100.v20150430-1834]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ip" range="[1.1.300.v20130327-1442,1.1.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ip.source" range="[1.1.300.v20130327-1442,1.1.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.metatype" range="[1.4.200.v20160324-1850,1.4.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.metatype.source" range="[1.4.200.v20160324-1850,1.4.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences.source" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.useradmin" range="[1.1.400.v20130327-1442,1.1.400.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.useradmin.source" range="[1.1.400.v20130327-1442,1.1.400.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.wireadmin" range="[1.0.600.v20150715-1528,1.0.600.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.wireadmin.source" range="[1.0.600.v20150715-1528,1.0.600.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util.source" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.compendium.sdk.feature.jar" range="[3.12.0.v20160413-1439,3.12.0.v20160413-1439]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.apt.tests" version="1.1.100.v20160222-0635">
<update id="org.eclipse.jdt.compiler.apt.tests" range="[0.0.0,1.1.100.v20160222-0635)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Annotation Processing Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.apt.tests"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt.tests" version="1.1.100.v20160222-0635"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.apt.tests" version="1.1.100.v20160222-0635"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.annotations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.processors.base" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.processors.checkargs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.processors.elements" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.processors.genclass" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.compiler.apt.tests.processors.visitors" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.apt.tests" version="1.1.100.v20160222-0635"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.apt.tests;singleton:=true
Bundle-Version: 1.1.100.v20160222-0635
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.compatibility.state.source" version="1.0.100.v20150709-1617" singleton="false">
<update id="org.eclipse.osgi.compatibility.state.source" range="[0.0.0,1.0.100.v20150709-1617)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox State and Resolver Compatibility Fragment Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.compatibility.state"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state.source" version="1.0.100.v20150709-1617"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.compatibility.state.source" version="1.0.100.v20150709-1617"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.compatibility.state.source" version="1.0.100.v20150709-1617"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.compatibility.state.source
Bundle-Version: 1.0.100.v20150709-1617
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.ui" version="3.12.0.v20160415-1630">
<update id="org.eclipse.jdt.ui" range="[0.0.0,3.12.0.v20160415-1630)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.ui"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="107">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui" version="3.12.0.v20160415-1630"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.ui" version="3.12.0.v20160415-1630"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.buildpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.callhierarchy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.codemanipulation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.codemanipulation.tostringgeneration" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.dom.fragments" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.fix" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.javadoc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.base" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.binary" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.changes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.code" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.code.flow" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.delegates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.generics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.nls.changes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.participants" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.rename" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.reorg" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.scripting" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.sef" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.structure" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.structure.constraints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.surround" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.tagging" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.typeconstraints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.typeconstraints2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.refactoring.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.template.java" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.corext.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.browsing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.callhierarchy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.compare" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.filters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.fix" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.infoviews" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.jarimport" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.jarpackager" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.jarpackagerfat" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.javadocexport" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.javaeditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.javaeditor.breadcrumb" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.javaeditor.saveparticipant" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.javaeditor.selectionactions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.navigator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.packageview" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.preferences.cleanup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.preferences.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.propertiesfileeditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.binary" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.code" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.nls.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.reorg" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.refactoring.sef" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.correction" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.correction.proposals" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.folding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.java" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.java.hover" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.javadoc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.spelling" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.spelling.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.template.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.text.template.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.typehierarchy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.viewsupport" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.wizards.buildpaths" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.wizards.buildpaths.newsourcepage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.wizards.dialogfields" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.workingsets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.cleanup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.jarpackager" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.text.folding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.text.java" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.text.java.correction" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.text.java.hover" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="30">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.12.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.3.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="[3.3.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="[1.7.0,2.0.0)"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="4.4.2"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="[0.10.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.ui" version="3.12.0.v20160415-1630"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.ui; singleton:=true
Bundle-Version: 3.12.0.v20160415-1630
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.runtime" version="3.5.0.v20160331-1846">
<update id="org.eclipse.pde.runtime" range="[0.0.0,3.5.0.v20160331-1846)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="PDE Runtime"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.runtime"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.runtime" version="3.5.0.v20160331-1846"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.runtime" version="3.5.0.v20160331-1846"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.registry.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.spy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.spy.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.spy.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.runtime.spy.sections" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.runtime" version="3.5.0.v20160331-1846"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.runtime; singleton:=true
Bundle-Version: 3.5.0.v20160331-1846
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="tooling.org.eclipse.update.feature.default" version="1.0.0" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" range="0.0.0" optional="true" multiple="true" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" range="0.0.0" optional="true" multiple="true" greedy="false"/>
</requires>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            uninstallFeature(feature:${artifact},featureId:default,featureVersion:default)
          </instruction>
<instruction key="install">
            installFeature(feature:${artifact},featureId:default,featureVersion:default)
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.device" version="1.0.400.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.device" range="[0.0.0,1.0.400.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Device Access Service"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.device"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.device" version="1.0.400.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.device" version="1.0.400.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.device" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="java.package" name="org.osgi.framework" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.device" range="[1.1.0,1.2.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.device" version="1.0.400.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.device
Bundle-Version: 1.0.400.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.swt.gtk.source" version="1.0.100.v20160301-1001" singleton="false">
<update id="org.eclipse.e4.ui.swt.gtk.source" range="[0.0.0,1.0.100.v20160301-1001)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI GTK Enhancements Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.swt.gtk"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.swt.gtk.source" version="1.0.100.v20160301-1001"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.swt.gtk.source" version="1.0.100.v20160301-1001"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.swt.gtk.source" version="1.0.100.v20160301-1001"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.swt.gtk.source
Bundle-Version: 1.0.100.v20160301-1001
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.jsp.jasper" version="1.0.500.v20150119-1358" singleton="false">
<update id="org.eclipse.equinox.jsp.jasper" range="[0.0.0,1.0.500.v20150119-1358)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Jasper Jsp Support Bundle"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.jsp.jasper"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper" version="1.0.500.v20150119-1358"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper" version="1.0.500.v20150119-1358"/>
<provided namespace="java.package" name="org.eclipse.equinox.jsp.jasper" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="java.package" name="javax.servlet" range="[2.4.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.annotation" range="2.6.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="2.6.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.4.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.jsp" range="[2.0.0,2.3.0)"/>
<required namespace="java.package" name="org.apache.jasper.servlet" range="[0.0.0,8.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.jsp.jasper" version="1.0.500.v20150119-1358"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper
Bundle-Version: 1.0.500.v20150119-1358
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.hamcrest.library" version="1.1.0.v20090501071000" singleton="false">
<update id="org.hamcrest.library" range="[0.0.0,1.1.0.v20090501071000)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Library of Additional Matchers"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.library" version="1.1.0.v20090501071000"/>
<provided namespace="osgi.bundle" name="org.hamcrest.library" version="1.1.0.v20090501071000"/>
<provided namespace="java.package" name="org.hamcrest" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.beans" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.collection" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.number" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.object" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.text" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.xml" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest.library" version="1.1.0.v20090501071000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest.library
Bundle-Version: 1.1.0.v20090501071000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.pluggable.tests" version="3.4.100.v20160128-1641">
<update id="org.eclipse.jdt.apt.pluggable.tests" range="[0.0.0,3.4.100.v20160128-1641)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Annotation Processing Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.pluggable.tests"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.tests" version="3.4.100.v20160128-1641"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.pluggable.tests" version="3.4.100.v20160128-1641"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.apt.pluggable.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.apt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.pluggable.tests" version="3.4.100.v20160128-1641"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.pluggable.tests;singleton:=true
Bundle-Version: 3.4.100.v20160128-1641
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.tests" version="1.1.0.v20160407-1147" singleton="false">
<update id="org.eclipse.e4.core.tests" range="[0.0.0,1.1.0.v20160407-1147)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="E4 Core Tests"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.tests"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tests" version="1.1.0.v20160407-1147"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.tests" version="1.1.0.v20160407-1147"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.contexts.inject" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.contexts.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.di" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.di.extensions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.manual" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.tests.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="3.2.100"/>
<required namespace="osgi.bundle" name="com.google.code.atinject.tck" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.tests" version="1.1.0.v20160407-1147"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.tests
Bundle-Version: 1.1.0.v20160407-1147
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.win32.win32.x86_64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.win32.win32.x86_64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.win32.win32.x86_64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher.exe, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.ibm.icu" version="56.1.0.v201601250100">
<update id="com.ibm.icu" range="[0.0.0,56.1.0.v201601250100)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="International Components for Unicode for Java (ICU4J)"/>
<property name="df_LT.providerName" value="IBM Corporation"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="21">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.ibm.icu" version="56.1.0.v201601250100"/>
<provided namespace="osgi.bundle" name="com.ibm.icu" version="56.1.0.v201601250100"/>
<provided namespace="java.package" name="com.ibm.icu.impl" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.brkitr" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.coll" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.curr" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.lang" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.rbnf" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.region" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.translit" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.data.icudt56b.zone" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.duration" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.impl.locale" version="0.0.0"/>
<provided namespace="java.package" name="com.ibm.icu.lang" version="56.1.0"/>
<provided namespace="java.package" name="com.ibm.icu.math" version="56.1.0"/>
<provided namespace="java.package" name="com.ibm.icu.text" version="56.1.0"/>
<provided namespace="java.package" name="com.ibm.icu.util" version="56.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.ibm.icu" version="56.1.0.v201601250100"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.ibm.icu;singleton:=true
Bundle-Version: 56.1.0.v201601250100
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.win32.x86" version="1.4.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.win32.x86" range="[0.0.0,1.4.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Windows"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.win32.x86"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.win32.x86" version="1.4.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.win32.x86" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.4.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.4.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.win32.x86" version="1.4.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.win32.x86; singleton:=true
Bundle-Version: 1.4.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.4.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.cheatsheets" version="3.4.200.v20160416-0844">
<update id="org.eclipse.ui.cheatsheets" range="[0.0.0,3.4.200.v20160416-0844)" severity="0"/>
<properties size="8">
<property name="df_LT.PLUGIN_NAME" value="Cheat Sheets"/>
<property name="df_LT.PROVIDER_NAME" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%PLUGIN_NAME"/>
<property name="org.eclipse.equinox.p2.provider" value="%PROVIDER_NAME"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.cheatsheets"/>
<property name="maven-version" value="3.4.200-SNAPSHOT"/>
</properties>
<provides size="18">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cheatsheets" version="3.4.200.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" version="3.4.200.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.ui.cheatsheets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.composite.explorer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.composite.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.composite.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.composite.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.data" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.state" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cheatsheets.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.provisional.cheatsheets" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="[4.0.0,5.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.help.ui" range="[4.0.0,5.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.200"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.cheatsheets" version="3.4.200.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.cheatsheets; singleton:=true
Bundle-Version: 3.4.200.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.sun.el" version="2.2.0.v201303151357" singleton="false">
<update id="com.sun.el" range="[0.0.0,2.2.0.v201303151357)" severity="0"/>
<properties size="6">
<property name="df_LT.bundleName" value="Javax Expression Language Reference Implementation Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="Javax El RI el-impl-2.2.4"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.sun.el" version="2.2.0.v201303151357"/>
<provided namespace="osgi.bundle" name="com.sun.el" version="2.2.0.v201303151357"/>
<provided namespace="java.package" name="com.sun.el" version="2.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="java.package" name="javax.el" range="2.2.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.sun.el" version="2.2.0.v201303151357"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.sun.el
Bundle-Version: 2.2.0.v201303151357
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.core.ssl.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.core.ssl.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Core SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF core SSL fragment.  On Equinox-based frameworks, this fragment exposes the Equinox TrustManager to ECF FileTransfer and other ECF-based communications."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.ssl" range="[1.2.0.v20160312-0656,1.2.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ui.navigator.source" version="3.6.0.v20160329-2052" singleton="false">
<update id="org.eclipse.ui.navigator.source" range="[0.0.0,3.6.0.v20160329-2052)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Common Navigator View Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.navigator"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.source" version="3.6.0.v20160329-2052"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.navigator.source" version="3.6.0.v20160329-2052"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.navigator.source" version="3.6.0.v20160329-2052"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.navigator.source
Bundle-Version: 3.6.0.v20160329-2052
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.ppc64le" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc64le" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.ppc64le" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.sshd.core.source" version="0.7.0.v201303101611" singleton="false">
<update id="org.apache.sshd.core.source" range="[0.0.0,0.7.0.v201303101611)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache MINA SSHD Core Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.sshd.core.source" version="0.7.0.v201303101611"/>
<provided namespace="osgi.bundle" name="org.apache.sshd.core.source" version="0.7.0.v201303101611"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.sshd.core.source" version="0.7.0.v201303101611"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.sshd.core.source
Bundle-Version: 0.7.0.v201303101611
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.jasper.glassfish" version="2.2.2.v201501141630" singleton="false">
<update id="org.apache.jasper.glassfish" range="[0.0.0,2.2.2.v201501141630)" severity="0"/>
<properties size="8">
<property name="df_LT.Bundle-Vendor.0" value="Eclipse Orbit"/>
<property name="df_LT.Bundle-Name.0" value="JSP 2.2 implementation from Glassfish"/>
<property name="df_LT.Bundle-Description" value="JSP 2.2 reference implementation from Glassfish"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name.0"/>
<property name="org.eclipse.equinox.p2.description" value="%Bundle-Description"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor.0"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://jsp.java.net/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish" version="2.2.2.v201501141630"/>
<provided namespace="osgi.bundle" name="org.apache.jasper.glassfish" version="2.2.2.v201501141630"/>
<provided namespace="java.package" name="org.apache.jasper" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.compiler" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.compiler.tagplugin" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.runtime" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.security" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.servlet" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.tagplugins.jstl" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.xmlparser" version="2.2.2"/>
<provided namespace="java.package" name="org.apache.jasper.resources" version="2.2.2"/>
<provided namespace="java.package" name="org.glassfish.jsp.api" version="2.2.2"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="java.package" name="javax.el" range="2.2.0"/>
<required namespace="java.package" name="javax.servlet" range="2.6.0"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="2.6.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.6.0"/>
<required namespace="java.package" name="javax.servlet.jsp" range="2.2.0"/>
<required namespace="java.package" name="javax.servlet.jsp.el" range="2.2.0"/>
<required namespace="java.package" name="javax.servlet.jsp.tagext" range="2.2.0"/>
<required namespace="java.package" name="javax.tools" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.core.compiler" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.classfmt" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.env" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.impl" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.problem" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.jasper.glassfish" version="2.2.2.v201501141630"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.jasper.glassfish
Bundle-Version: 2.2.2.v201501141630
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.workbench.texteditor.tests" version="3.11.0.v20160404-2012" singleton="false">
<update id="org.eclipse.ui.workbench.texteditor.tests" range="[0.0.0,3.11.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Workbench Text Editor Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.workbench.texteditor.tests"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.ui.workbench.texteditor.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.workbench.texteditor.tests.revisions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.workbench.texteditor.tests.rulers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text.tests" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.9.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.workbench.texteditor.tests" version="3.11.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.workbench.texteditor.tests
Bundle-Version: 3.11.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.slf4j.api" version="1.7.2.v20121108-1250" singleton="false">
<update id="org.slf4j.api" range="[0.0.0,1.7.2.v20121108-1250)" severity="0"/>
<properties size="5">
<property name="df_LT.Bundle-Vendor.0" value="Eclipse.org"/>
<property name="df_LT.Bundle-Name.0" value="SLF4J API"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name.0"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor.0"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.slf4j.api" version="1.7.2.v20121108-1250"/>
<provided namespace="osgi.bundle" name="org.slf4j.api" version="1.7.2.v20121108-1250"/>
<provided namespace="java.package" name="org.slf4j" version="1.7.2"/>
<provided namespace="java.package" name="org.slf4j.helpers" version="1.7.2"/>
<provided namespace="java.package" name="org.slf4j.spi" version="1.7.2"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.slf4j.api" version="1.7.2.v20121108-1250"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.slf4j.api
Bundle-Version: 1.7.2.v20121108-1250
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.ui" version="3.11.200.v20160416-1825">
<update id="org.eclipse.debug.ui" range="[0.0.0,3.11.200.v20160416-1825)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Debug UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.ui"/>
<property name="maven-version" value="3.11.200-SNAPSHOT"/>
</properties>
<provides size="50">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.ui" version="3.11.200.v20160416-1825"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.ui" version="3.11.200.v20160416-1825"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions.breakpointGroups" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions.expressions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions.variables" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.actions.variables.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.breakpoints.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.commands.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.contextlaunching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.elements.adapters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.importexport.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.importexport.launchconfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.memory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.memory.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.model.elements" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.sourcelookup.browsers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.stringsubstitution" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers.breadcrumb" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers.model.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.viewers.update" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.expression" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.launch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.memory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.memory.renderings" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.modules" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.registers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.variables" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.ui.views.variables.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.memory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.ui.stringsubstitution" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.800,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.5.300,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.ui.forms.widgets" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.ui" version="3.11.200.v20160416-1825"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.ui; singleton:=true
Bundle-Version: 3.11.200.v20160416-1825
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.text.source" version="3.6.0.v20160321-0553" singleton="false">
<update id="org.eclipse.text.source" range="[0.0.0,3.6.0.v20160321-0553)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Text Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.text"/>
<property name="maven-artifactId" value="org.eclipse.text"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text.source" version="3.6.0.v20160321-0553"/>
<provided namespace="osgi.bundle" name="org.eclipse.text.source" version="3.6.0.v20160321-0553"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.text.source" version="3.6.0.v20160321-0553"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.text.source
Bundle-Version: 3.6.0.v20160321-0553
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.console.ssh" version="1.0.100.v20131208-1728" singleton="false">
<update id="org.eclipse.equinox.console.ssh" range="[0.0.0,1.0.100.v20131208-1728)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Console ssh support plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.console.ssh"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.ssh" version="1.0.100.v20131208-1728"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.console.ssh" version="1.0.100.v20131208-1728"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.internal.ssh" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.jaas" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.ssh" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.console.storage" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="18">
<required namespace="java.package" name="javax.security.auth" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.security.auth.callback" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.security.auth.login" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.security.auth.spi" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.felix.service.command" range="0.8.0"/>
<required namespace="java.package" name="org.apache.mina.util" range="2.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.common" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.server" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.server.jaas" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.server.keyprovider" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.server.session" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.apache.sshd.server.shell" range="0.5.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.console.common" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.console.common.terminal" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="[1.4.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.console.ssh" version="1.0.100.v20131208-1728"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.console.ssh
Bundle-Version: 1.0.100.v20131208-1728
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.linux.ppc64le" version="1.4.0.v20140822-1153">
<update id="org.eclipse.core.filesystem.linux.ppc64le" range="[0.0.0,1.4.0.v20140822-1153)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Linux PPC 64 LE bit"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.linux.ppc64le"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc64le" version="1.4.0.v20140822-1153"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.linux.ppc64le" version="1.4.0.v20140822-1153"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.4.0.v20140822-1153"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.linux.ppc64le" version="1.4.0.v20140822-1153"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.linux.ppc64le;singleton:=true
Bundle-Version: 1.4.0.v20140822-1153
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.core.feature.feature.group" version="1.3.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.core.feature.feature.group" range="[0.0.0,1.3.200.v20160317-1257)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core.feature"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, headless functionalities"/>
<property name="df_LT.description" value="Provides a minimal headless provisioning system."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" version="1.3.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="32">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.feature.feature.group" range="[1.1.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" range="[3.8.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository" range="[1.1.500.v20160102-2223,1.1.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director" range="[2.3.200.v20150907-2149,2.3.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector" range="[1.0.200.v20150907-2149,1.0.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata" range="[2.3.100.v20160102-2223,2.3.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository" range="[1.2.300.v20160102-2223,1.2.300.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository" range="[2.3.200.v20160102-2223,2.3.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse" range="[2.1.400.v20160102-2223,2.1.400.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" range="[1.2.100.v20160104-2129,1.2.100.v20160104-2129]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.100.v20150907-2149,2.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.core" range="[2.3.5.v201308161310,2.3.5.v201308161310]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.pb" range="[2.3.5.v201404071733,2.3.5.v201404071733]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin" range="[2.0.200.v20150423-1455,2.0.200.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox" range="[1.0.700.v20160102-2223,1.0.700.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf" range="[1.1.100.v20150521-1342,1.1.100.v20150521-1342]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.tukaani.xz" range="[1.3.0.v201308270617,1.3.0.v201308270617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.jar" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.emf.common.source.feature.group" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.common.source.feature.group" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="8">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.featureName" value="Source for EMF Common"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Generated source feature. The original description is:&#10;&#10;Common platform-independent utilities used throughout EMF, including collection classes, notifiers, adapters, and commands."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source.feature.group" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source.feature.jar" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="org.eclipse.jdt.debug.ui" version="3.7.200.v20160415-1147">
<update id="org.eclipse.jdt.debug.ui" range="[0.0.0,3.7.200.v20160415-1147)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JDI Debug UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.debug.ui"/>
<property name="maven-version" value="3.7.200-SNAPSHOT"/>
</properties>
<provides size="26">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.ui" version="3.7.200.v20160415-1147"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui" version="3.7.200.v20160415-1147"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.ui.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.ui.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.classpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.display" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.heapwalking" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.jres" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.monitors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.propertypages" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.snippeteditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.threadgroups" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.ui.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.debug.ui" version="3.7.200.v20160415-1147"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.debug.ui; singleton:=true
Bundle-Version: 3.7.200.v20160415-1147
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.security" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.security" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Security"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Security"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.security" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.security" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.security.authentication" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.annotation" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.http" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.handler" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.session" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.component" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.resource" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.security" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="javax.security.auth" range="0.0.0"/>
<required namespace="java.package" name="org.ietf.jgss" range="0.0.0"/>
<required namespace="java.package" name="javax.security.cert" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.security" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.security
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.addons.swt" version="1.2.0.v20160401-1236">
<update id="org.eclipse.e4.ui.workbench.addons.swt" range="[0.0.0,1.2.0.v20160401-1236)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 Workbench Add-ons"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.addons.swt"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.addons.swt" version="1.2.0.v20160401-1236"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.addons.swt" version="1.2.0.v20160401-1236"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.addons.cleanupaddon" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.addons.dndaddon" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.addons.minmax" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.addons.splitteraddon" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.addons.swt" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="20">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="[3.2.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.widgets" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.7.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.swt" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.addons.swt" version="1.2.0.v20160401-1236"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.addons.swt;singleton:=true
Bundle-Version: 1.2.0.v20160401-1236
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.weaving.hook" version="1.1.200.v20150730-1648" singleton="false">
<update id="org.eclipse.equinox.weaving.hook" range="[0.0.0,1.1.200.v20150730-1648)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Aspect Weaving Hooks Plug-in"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.hook"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.hook" version="1.1.200.v20150730-1648"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.hook" version="1.1.200.v20150730-1648"/>
<provided namespace="java.package" name="org.eclipse.equinox.service.weaving" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.weaving.adaptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.weaving.hooks" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.osgi" version="1.1.200.v20150730-1648"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.10.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.hook" version="1.1.200.v20150730-1648"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.hook
Bundle-Version: 1.1.200.v20150730-1648
Fragment-Host: org.eclipse.osgi;bundle-version="[3.10.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.aix.ppc64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.aix.ppc64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.aix.ppc64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.core.sdk.feature.jar" version="3.12.0.v20160407-2059">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Core SDK"/>
<property name="df_LT.description" value="A collection of core Equinox bundles and source including the Equinox framework implementation itself. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.core.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.sdk.feature.jar" version="3.12.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.core.sdk" version="3.12.0.v20160407-2059"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.core.sdk" version="3.12.0.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.source.feature.group" version="3.12.0.v20160417-1515" singleton="false">
<update id="org.eclipse.jdt.source.feature.group" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.jdt.feature"/>
<property name="maven-artifactId" value="org.eclipse.jdt"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse JDT Plug-in Developer Resources"/>
<property name="df_LT.description" value="API documentation and source code zips for Eclipse Java development tools."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.source.feature.group" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="26">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.ui.source" range="[3.6.200.v20160329-1410,3.6.200.v20160329-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.core.source" range="[3.4.100.v20160405-1556,3.4.100.v20160405-1556]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.ui.source" range="[3.4.100.v20160128-1641,3.4.100.v20160128-1641]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.core.source" range="[1.1.100.v20160415-0647,1.1.100.v20160415-0647]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt.source" range="[1.2.100.v20160405-1556,1.2.100.v20160405-1556]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool.source" range="[1.1.100.v20160128-1641,1.1.100.v20160128-1641]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.source" range="[3.12.0.v20160417-1322,3.12.0.v20160417-1322]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation.source" range="[1.1.100.v20140704-0625,1.1.100.v20140704-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation.source" range="[2.1.0.v20160320-2244,2.1.0.v20160320-2244]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.manipulation.source" range="[1.7.0.v20151129-1935,1.7.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.ui.source" range="[3.7.200.v20160415-1147,3.7.200.v20160415-1147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.source" range="[3.10.0.v20160414-0906,3.10.0.v20160414-0906]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.source" range="[3.9.0.v20151129-1935,3.9.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.core.source" range="[3.8.0.v20160120-1732,3.8.0.v20160120-1732]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.runtime.source" range="[3.4.500.v20151129-1935,3.4.500.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit4.runtime.source" range="[1.1.500.v20151129-1935,1.1.500.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.source" range="[3.8.0.v20160414-0814,3.8.0.v20160414-0814]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.source" range="[3.12.0.v20160415-1630,3.12.0.v20160415-1630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.junit.source" range="[4.12.0.v201504281640,4.12.0.v201504281640]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core.source" range="[1.3.0.v201303031735,1.3.0.v201303031735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.macosx.source" range="[3.3.0.v20150313-0517,3.3.0.v20150313-0517]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.ui.macosx.source" range="[1.1.0.v20160120-1304,1.1.0.v20160120-1304]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.launching.source" range="[1.1.200.v20160203-1238,1.1.200.v20160203-1238]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.doc.isv" range="[3.12.0.v20160316-1653,3.12.0.v20160316-1653]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.source.feature.jar" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.supplement" version="1.6.0.v20160309-1913" singleton="false">
<update id="org.eclipse.equinox.supplement" range="[0.0.0,1.6.0.v20160309-1913)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Supplemental Equinox Functionality"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.supplement"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="17">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.supplement" version="1.6.0.v20160309-1913"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.supplement" version="1.6.0.v20160309-1913"/>
<provided namespace="java.package" name="org.eclipse.equinox.log" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.console" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" version="1.2.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.framework.log" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.report.resolution" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.datalocation" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.debug" version="1.2.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.environment" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.localization" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.runnable" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.service.urlconversion" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.storagemanager" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.util" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework.hooks.resolver" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.resource" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.resolver" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.report.resolution" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.runnable" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.urlconversion" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.storagemanager" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.supplement" version="1.6.0.v20160309-1913"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.supplement
Bundle-Version: 1.6.0.v20160309-1913
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc64le.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.ppc64le.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc64le"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64le.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc64le.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc64le.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc64le.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.objectweb.asm.tree" version="5.0.1.v201404251740" singleton="false">
<update id="org.objectweb.asm.tree" range="[0.0.0,5.0.1.v201404251740)" severity="0"/>
<properties size="6">
<property name="df_LT.pluginName" value="ASM Tree class visitor"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://asm.objectweb.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.tree" version="5.0.1.v201404251740"/>
<provided namespace="osgi.bundle" name="org.objectweb.asm.tree" version="5.0.1.v201404251740"/>
<provided namespace="java.package" name="org.objectweb.asm.tree" version="5.0.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="java.package" name="org.objectweb.asm" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.objectweb.asm.tree" version="5.0.1.v201404251740"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.objectweb.asm.tree
Bundle-Version: 5.0.1.v201404251740
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.junit.source" version="4.12.0.v201504281640" singleton="false">
<update id="org.junit.source" range="[0.0.0,4.12.0.v201504281640)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="JUnit Testing Framework Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.junit.source" version="4.12.0.v201504281640"/>
<provided namespace="osgi.bundle" name="org.junit.source" version="4.12.0.v201504281640"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.junit.source" version="4.12.0.v201504281640"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.junit.source
Bundle-Version: 4.12.0.v201504281640
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Filetransfer SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the SSL support for the ECF FileTransfer API used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.swt.gtk.linux.s390" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.s390" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.s390"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.s390" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.s390" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.s390; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.core" version="1.1.0.v20151201-1325">
<update id="org.eclipse.pde.ds.core" range="[0.0.0,1.1.0.v20151201-1325)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE DS Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.core"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.core" version="1.1.0.v20151201-1325"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.core" version="1.1.0.v20151201-1325"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.core.builders" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.core.text" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.4.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.core" version="1.1.0.v20151201-1325"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.core;singleton:=true
Bundle-Version: 1.1.0.v20151201-1325
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples.source.feature.jar" version="3.5.600.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Examples Source"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source.feature.jar" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.repository.tools" version="2.1.300.v20151005-0151">
<update id="org.eclipse.equinox.p2.repository.tools" range="[0.0.0,2.1.300.v20151005-0151)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning Repository Tools"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.repository.tools"/>
<property name="maven-version" value="2.1.300-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools" version="2.1.300.v20151005-0151"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.tools" version="2.1.300.v20151005-0151"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.comparator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.mirroring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.tools" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.internal.repository.tools.analyzer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.tools.analyzer" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.tools.comparator" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="33">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.tukaani.xz" range="1.3.0"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine.phases" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.3.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.repository.tools" version="2.1.300.v20151005-0151"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.repository.tools;singleton:=true
Bundle-Version: 2.1.300.v20151005-0151
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.manipulation" version="1.7.0.v20151129-1935">
<update id="org.eclipse.jdt.core.manipulation" range="[0.0.0,1.7.0.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Code Manipulation Functionality"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.manipulation"/>
<property name="maven-version" value="1.7.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.manipulation" version="1.7.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" version="1.7.0.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.manipulation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.refactoring.descriptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.refactoring.participants" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.manipulation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.refactoring.descriptors" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.manipulation" version="1.7.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.manipulation; singleton:=true
Bundle-Version: 1.7.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.event.source" version="1.3.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.event.source" range="[0.0.0,1.3.200.v20160324-1850)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Event Admin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.event"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event.source" version="1.3.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.event.source" version="1.3.200.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.event.source" version="1.3.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.event.source
Bundle-Version: 1.3.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.search.source" version="3.11.0.v20160204-1117" singleton="false">
<update id="org.eclipse.search.source" range="[0.0.0,3.11.0.v20160204-1117)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Search Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.search"/>
<property name="maven-artifactId" value="org.eclipse.search"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search.source" version="3.11.0.v20160204-1117"/>
<provided namespace="osgi.bundle" name="org.eclipse.search.source" version="3.11.0.v20160204-1117"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.search.source" version="3.11.0.v20160204-1117"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.search.source
Bundle-Version: 3.11.0.v20160204-1117
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.ui.swt.gtk" version="1.0.100.v20160301-1001">
<update id="org.eclipse.e4.ui.swt.gtk" range="[0.0.0,1.0.100.v20160301-1001)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Eclipse UI GTK Enhancements"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment-gtk"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.swt.gtk"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.swt.gtk" version="1.0.100.v20160301-1001"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.swt.gtk" version="1.0.100.v20160301-1001"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.e4.ui.css.swt.theme" version="1.0.100.v20160301-1001"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.10.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.services.events" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.3.1"/>
</requires>
<filter>
        (osgi.ws=gtk)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.swt.gtk" version="1.0.100.v20160301-1001"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.swt.gtk;singleton:=true
Bundle-Version: 1.0.100.v20160301-1001
Fragment-Host: org.eclipse.e4.ui.css.swt.theme;bundle-version="0.10.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc64le" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.ppc64le" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc64le"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc64le" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc64le" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc64le" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc64le;singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.logging" version="1.1.1.v201101211721" singleton="false">
<update id="org.apache.commons.logging" range="[0.0.0,1.1.1.v201101211721)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Apache Commons Logging Plug-in"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.logging" version="1.1.1.v201101211721"/>
<provided namespace="osgi.bundle" name="org.apache.commons.logging" version="1.1.1.v201101211721"/>
<provided namespace="java.package" name="org.apache.commons.logging" version="1.1.1"/>
<provided namespace="java.package" name="org.apache.commons.logging.impl" version="1.1.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.logging" version="1.1.1.v201101211721"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.logging
Bundle-Version: 1.1.1.v201101211721
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.tests.discovery" version="1.1.0.v20141216-2213">
<update id="org.eclipse.equinox.p2.tests.discovery" range="[0.0.0,1.1.0.v20141216-2213)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Equinox Provisioning Discovery Tests"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.tests.discovery"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.discovery" version="1.1.0.v20141216-2213"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests.discovery" version="1.1.0.v20141216-2213"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.discovery.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.discovery.tests.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.discovery.tests.core.mock" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.discovery.tests.core.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery.compatibility" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.discovery" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.tests.discovery" version="1.1.0.v20141216-2213"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.tests.discovery;singleton:=true
Bundle-Version: 1.1.0.v20141216-2213
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.ppc64le" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc64le" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.ppc64le" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.tests.css.swt" version="0.10.0.v20160412-1439">
<update id="org.eclipse.e4.ui.tests.css.swt" range="[0.0.0,0.10.0.v20160412-1439)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="e4 css swt tests (Incubation)"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.tests.css.swt"/>
<property name="maven-version" value="0.10.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests.css.swt" version="0.10.0.v20160412-1439"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.tests.css.swt" version="0.10.0.v20160412-1439"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.106.0"/>
<required namespace="osgi.bundle" name="org.hamcrest" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.mockito" range="1.8.4"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.5.200"/>
<required namespace="java.package" name="org.osgi.framework" range="1.7.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.3.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.tests.css.swt" version="0.10.0.v20160412-1439"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.tests.css.swt; singleton:=true
Bundle-Version: 0.10.0.v20160412-1439
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.jar" version="3.13.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Httpclient4 Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.jar" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature" version="3.13.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.httpclient4.source.feature" version="3.13.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2011 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.swt.examples" version="3.105.0.v20160401-0731">
<update id="org.eclipse.swt.examples" range="[0.0.0,3.105.0.v20160401-0731)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin.SWTStandaloneExampleSet.name" value="SWT Standalone Examples Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.SWTStandaloneExampleSet.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="19">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples" version="3.105.0.v20160401-0731"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples" version="3.105.0.v20160401-0731"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.addressbook" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.browserexample" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.clipboard" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.controlexample" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.fileviewer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.helloworld" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.hoverhelp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.imageanalyzer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.javaviewer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.layoutexample" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.paint" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.examples.texteditor" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples" version="3.105.0.v20160401-0731"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples; singleton:=true
Bundle-Version: 3.105.0.v20160401-0731
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.s390.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.s390.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.s390"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.s390.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.s390.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.s390.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.logging.source" version="1.1.1.v201101211721" singleton="false">
<update id="org.apache.commons.logging.source" range="[0.0.0,1.1.1.v201101211721)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Apache Commons Logging Plug-in Source"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
<provided namespace="osgi.bundle" name="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.logging.source
Bundle-Version: 1.1.1.v201101211721
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.servlet.jsp.source" version="2.2.0.v201112011158" singleton="false">
<update id="javax.servlet.jsp.source" range="[0.0.0,2.2.0.v201112011158)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="JSP API Source Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp.source" version="2.2.0.v201112011158"/>
<provided namespace="osgi.bundle" name="javax.servlet.jsp.source" version="2.2.0.v201112011158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.servlet.jsp.source" version="2.2.0.v201112011158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.servlet.jsp.source
Bundle-Version: 2.2.0.v201112011158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.variables" version="3.3.0.v20160201-1034">
<update id="org.eclipse.core.variables" range="[0.0.0,3.3.0.v20160201-1034)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Core Variables"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.variables"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.variables" version="3.3.0.v20160201-1034"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.variables" version="3.3.0.v20160201-1034"/>
<provided namespace="java.package" name="org.eclipse.core.internal.variables" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.variables" version="3.3.0.v20160201-1034"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.variables; singleton:=true
Bundle-Version: 3.3.0.v20160201-1034
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.batik.util" version="1.7.0.v201011041433" singleton="false">
<update id="org.apache.batik.util" range="[0.0.0,1.7.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik Utilities"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util" version="1.7.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.apache.batik.util" version="1.7.0.v201011041433"/>
<provided namespace="java.package" name="org.apache.batik" version="17.0.0"/>
<provided namespace="java.package" name="org.apache.batik.i18n" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.io" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.io.resources" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.util.resources" version="1.7.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.apache.batik.util.gui" range="[1.7.0,1.8.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.util" version="1.7.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.util
Bundle-Version: 1.7.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.app" version="1.3.400.v20150715-1528">
<update id="org.eclipse.equinox.app" range="[0.0.0,1.3.400.v20150715-1528)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Application Container"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.app"/>
<property name="maven-version" value="1.3.400-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app" version="1.3.400.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.app" version="1.3.400.v20150715-1528"/>
<provided namespace="java.package" name="org.eclipse.equinox.app" version="1.1.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.app" version="0.0.0"/>
<provided namespace="java.package" name="org.osgi.service.application" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.runnable" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.storagemanager" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.condpermadmin" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.app" version="1.3.400.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.app; singleton:=true
Bundle-Version: 1.3.400.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="tooling.source.default" version="1.0.0" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="source" range="0.0.0" optional="true" multiple="true" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="source" range="0.0.0" optional="true" multiple="true" greedy="false"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            removeSourceBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            addSourceBundle(bundle:${artifact})
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.feature.jar" version="3.12.0.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Java Development Tools"/>
<property name="df_LT.description" value="Eclipse Java development tools (binary runtime and user documentation)."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.jdt.feature"/>
<property name="maven-artifactId" value="org.eclipse.jdt"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.jar" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.jdt" version="3.12.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.jdt" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jface.examples.databinding" version="1.0.300.v20160411-1445" singleton="false">
<update id="org.eclipse.jface.examples.databinding" range="[0.0.0,1.0.300.v20160411-1445)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding Examples"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.examples.databinding"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.examples.databinding" version="1.0.300.v20160411-1445"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.examples.databinding" version="1.0.300.v20160411-1445"/>
<provided namespace="java.package" name="org.eclipse.jface.examples.databinding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.examples.databinding.mask" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.examples.databinding.mask.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.examples.databinding.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.examples.databinding.radioGroup" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.jface" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.beans" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.examples.databinding" version="1.0.300.v20160411-1445"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.examples.databinding
Bundle-Version: 1.0.300.v20160411-1445
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.win32.win32.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test.performance.win32" version="3.1.200.v20140518-1929" singleton="false">
<update id="org.eclipse.test.performance.win32" range="[0.0.0,3.1.200.v20140518-1929)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.test"/>
<property name="maven-artifactId" value="org.eclipse.test.performance.win32"/>
<property name="maven-version" value="3.1.200-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.performance.win32" version="3.1.200.v20140518-1929"/>
<provided namespace="osgi.bundle" name="org.eclipse.test.performance.win32" version="3.1.200.v20140518-1929"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.test.performance" version="3.1.200.v20140518-1929"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.1.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.test.performance.win32" version="3.1.200.v20140518-1929"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.test.performance.win32
Bundle-Version: 3.1.200.v20140518-1929
Fragment-Host: org.eclipse.test.performance;bundle-version="[3.1.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.tukaani.xz.source" version="1.3.0.v201308270617" singleton="false">
<update id="org.tukaani.xz.source" range="[0.0.0,1.3.0.v201308270617)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="XZ data compression (source)"/>
<property name="df_LT.pluginDescription" value="org.tukaani.xz (source) is an implementation of XZ data compression in pure Java"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="%pluginDescription"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://tukaani.org/xz/java.html"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.tukaani.xz.source" version="1.3.0.v201308270617"/>
<provided namespace="osgi.bundle" name="org.tukaani.xz.source" version="1.3.0.v201308270617"/>
<provided namespace="java.package" name="org.tukaani.xz" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.check" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.common" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.delta" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.index" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.lz" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.lzma" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.rangecoder" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.simple" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.tukaani.xz.source" version="1.3.0.v201308270617"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.tukaani.xz.source
Bundle-Version: 1.3.0.v201308270617
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.configuration.macosx" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.configuration.macosx" version="1.0.0"/>
</provides>
<filter>
        (osgi.os=macosx)
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/Documents/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Httpclient4 Filetransfer SSL Provider"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the SSL support for the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl.source" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ui.console" version="3.6.100.v20160324-1431">
<update id="org.eclipse.ui.console" range="[0.0.0,3.6.100.v20160324-1431)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Console"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.console"/>
<property name="maven-version" value="3.6.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.console" version="3.6.100.v20160324-1431"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.console" version="3.6.100.v20160324-1431"/>
<provided namespace="java.package" name="org.eclipse.ui.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.console.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.console" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.800,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.console" version="3.6.100.v20160324-1431"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.console; singleton:=true
Bundle-Version: 3.6.100.v20160324-1431
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.annotation.source" version="1.1.100.v20140704-0625" singleton="false">
<update id="org.eclipse.jdt.annotation.source" range="[0.0.0,1.1.100.v20140704-0625)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JDT Annotations for Enhanced Null Analysis Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.annotation"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation.source" version="1.1.100.v20140704-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.annotation.source" version="1.1.100.v20140704-0625"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.annotation.source" version="1.1.100.v20140704-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.annotation.source
Bundle-Version: 1.1.100.v20140704-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.launching.macosx.source" version="3.3.0.v20150313-0517" singleton="false">
<update id="org.eclipse.jdt.launching.macosx.source" range="[0.0.0,3.3.0.v20150313-0517)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Mac OS X Launcher Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching.macosx"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.macosx.source" version="3.3.0.v20150313-0517"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching.macosx.source" version="3.3.0.v20150313-0517"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching.macosx.source" version="3.3.0.v20150313-0517"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching.macosx.source
Bundle-Version: 3.3.0.v20150313-0517
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.runtime.source" version="3.5.0.v20160331-1846" singleton="false">
<update id="org.eclipse.pde.runtime.source" range="[0.0.0,3.5.0.v20160331-1846)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE Runtime Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.runtime"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.runtime.source" version="3.5.0.v20160331-1846"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.runtime.source" version="3.5.0.v20160331-1846"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.runtime.source" version="3.5.0.v20160331-1846"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.runtime.source
Bundle-Version: 3.5.0.v20160331-1846
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.ui.tests.refactoring" version="3.12.0.v20160406-1012">
<update id="org.eclipse.jdt.ui.tests.refactoring" range="[0.0.0,3.12.0.v20160406-1012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Refactoring Tests Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.ui.tests.refactoring"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.tests.refactoring" version="3.12.0.v20160406-1012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.ui.tests.refactoring" version="3.12.0.v20160406-1012"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.all" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.ccp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.changes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.extensions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.infra" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.reorg" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.type" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.refactoring.typeconstraints" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.8.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.ui.tests.refactoring" version="3.12.0.v20160406-1012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.ui.tests.refactoring; singleton:=true
Bundle-Version: 3.12.0.v20160406-1012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.net.win32.x86_64" version="1.1.0.v20160323-1650">
<update id="org.eclipse.core.net.win32.x86_64" range="[0.0.0,1.1.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Proxy for Windows"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net.win32.x86_64"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.win32.x86_64" version="1.1.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net.win32.x86_64" version="1.1.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.net" version="1.1.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.1.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net.win32.x86_64" version="1.1.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net.win32.x86_64;singleton:=true
Bundle-Version: 1.1.0.v20160323-1650
Fragment-Host: org.eclipse.core.net;bundle-version="1.1.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.servlet.tests" version="1.0.100.v20160415-1458" singleton="false">
<update id="org.eclipse.equinox.http.servlet.tests" range="[0.0.0,1.0.100.v20160415-1458)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="org.eclipse.equinox.http.servlet.tests"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.servlet.tests"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet.tests" version="1.0.100.v20160415-1458"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.servlet.tests" version="1.0.100.v20160415-1458"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="java.package" name="javax.servlet" range="2.6.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.6.0"/>
<required namespace="java.package" name="junit.framework" range="4.8.2"/>
<required namespace="java.package" name="org.apache.commons.fileupload" range="1.2.2"/>
<required namespace="java.package" name="org.apache.commons.fileupload.disk" range="1.2.2"/>
<required namespace="java.package" name="org.apache.commons.fileupload.servlet" range="1.2.2"/>
<required namespace="java.package" name="org.eclipse.equinox.http.servlet" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.equinox.http.servlet.context" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.urlconversion" range="1.0.0"/>
<required namespace="java.package" name="org.junit" range="4.11.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.framework.hooks.service" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.service.component" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.2.1"/>
<required namespace="java.package" name="org.osgi.service.http.context" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.http.runtime" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.http.runtime.dto" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.http.whiteboard" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.servlet.tests" version="1.0.100.v20160415-1458"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.servlet.tests
Bundle-Version: 1.0.100.v20160415-1458
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.jobs" version="3.8.0.v20160319-0610">
<update id="org.eclipse.core.jobs" range="[0.0.0,3.8.0.v20160319-0610)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Jobs Mechanism"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.jobs"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs" version="3.8.0.v20160319-0610"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.jobs" version="3.8.0.v20160319-0610"/>
<provided namespace="java.package" name="org.eclipse.core.internal.jobs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.jobs" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.8.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.jobs" version="3.8.0.v20160319-0610"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.jobs; singleton:=true
Bundle-Version: 3.8.0.v20160319-0610
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.resources.source" version="3.11.0.v20160325-1842" singleton="false">
<update id="org.eclipse.core.resources.source" range="[0.0.0,3.11.0.v20160325-1842)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Core Resource Management Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.resources"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.source" version="3.11.0.v20160325-1842"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.resources.source" version="3.11.0.v20160325-1842"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.resources.source" version="3.11.0.v20160325-1842"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.resources.source
Bundle-Version: 3.11.0.v20160325-1842
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.themes.source" version="1.1.100.v20160411-1921" singleton="false">
<update id="org.eclipse.ui.themes.source" range="[0.0.0,1.1.100.v20160411-1921)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse SDK Themes Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.themes"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.themes.source" version="1.1.100.v20160411-1921"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.themes.source" version="1.1.100.v20160411-1921"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.themes.source" version="1.1.100.v20160411-1921"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.themes.source
Bundle-Version: 1.1.100.v20160411-1921
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.releng.tools.feature.group" version="3.9.0.v20160416-2220" singleton="false">
<update id="org.eclipse.releng.tools.feature.group" range="[0.0.0,3.9.0.v20160416-2220)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.releng.feature"/>
<property name="maven-artifactId" value="org.eclipse.releng.tools"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2010 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Releng Tools"/>
<property name="df_LT.description" value="Eclipse Releng Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools.feature.group" version="3.9.0.v20160416-2220"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools" range="[3.9.0.v20160416-2220,3.9.0.v20160416-2220]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools.feature.jar" range="[3.9.0.v20160416-2220,3.9.0.v20160416-2220]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.core.di.annotations" version="1.5.0.v20151127-1241" singleton="false">
<update id="org.eclipse.e4.core.di.annotations" range="[0.0.0,1.5.0.v20151127-1241)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Eclipse Dependency Injection Annotations"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di.annotations"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.annotations" version="1.5.0.v20151127-1241"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di.annotations" version="1.5.0.v20151127-1241"/>
<provided namespace="java.package" name="org.eclipse.e4.core.di.annotations" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di.annotations" version="1.5.0.v20151127-1241"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di.annotations
Bundle-Version: 1.5.0.v20151127-1241
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder}/../);
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}/../); chmod(targetDir:${installFolder}/../MacOS/, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.feature.jar" version="3.12.0.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Plug-in Development Environment"/>
<property name="df_LT.description" value="Eclipse plug-in development environment."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.feature.jar" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.pde" version="3.12.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.pde" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jetty.server" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.server" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Server Core"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Server Core"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.server" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.server" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.handler" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.handler.gzip" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.handler.jmx" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.jmx" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.nio" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.session" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.server.session.jmx" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.http" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.io" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.io.ssl" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.jmx" range="[9.3.5,9.3.6)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.annotation" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.component" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.resource" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.ssl" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.statistic" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.thread" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="javax.naming" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth" range="0.0.0"/>
<required namespace="java.package" name="javax.sql" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.server" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.server
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.aix.ppc" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.aix.ppc" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.aix.ppc" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.registry" version="3.6.100.v20160223-2218">
<update id="org.eclipse.equinox.registry" range="[0.0.0,3.6.100.v20160223-2218)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Extension Registry Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.registry"/>
<property name="maven-version" value="3.6.100-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" version="3.6.100.v20160223-2218"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.registry" version="3.6.100.v20160223-2218"/>
<provided namespace="java.package" name="org.eclipse.core.internal.adapter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.registry.osgi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.registry.spi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime" version="3.5.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.dynamichelpers" version="3.4.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.spi" version="3.4.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.storagemanager" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.registry" version="3.6.100.v20160223-2218"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.registry;singleton:=true
Bundle-Version: 3.6.100.v20160223-2218
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.source.feature.jar" version="4.7.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Platform Plug-in Developer Resources"/>
<property name="df_LT.description" value="Common OS-independent API documentation and source code zips for the Eclipse Platform."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.platform.feature"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.platform.source" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.platform.source" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.sdk.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.osgi.services.source" version="3.5.0.v20150714-1510" singleton="false">
<update id="org.eclipse.osgi.services.source" range="[0.0.0,3.5.0.v20150714-1510)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="OSGi Release 4.2.0 Services Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.services"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services.source" version="3.5.0.v20150714-1510"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.services.source" version="3.5.0.v20150714-1510"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.services.source" version="3.5.0.v20150714-1510"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.services.source
Bundle-Version: 3.5.0.v20150714-1510
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit.core.source" version="3.8.0.v20160120-1732" singleton="false">
<update id="org.eclipse.jdt.junit.core.source" range="[0.0.0,3.8.0.v20160120-1732)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools JUnit core support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit.core"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.core.source" version="3.8.0.v20160120-1732"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit.core.source" version="3.8.0.v20160120-1732"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit.core.source" version="3.8.0.v20160120-1732"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit.core.source
Bundle-Version: 3.8.0.v20160120-1732
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.core.source" version="3.6.0.v20160404-1158" singleton="false">
<update id="org.eclipse.compare.core.source" range="[0.0.0,3.6.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Core Compare Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.core"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.core.source" version="3.6.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.core.source" version="3.6.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.core.source" version="3.6.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.core.source
Bundle-Version: 3.6.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.aix.ppc64" version="1.1.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.aix.ppc64" range="[0.0.0,1.1.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for AIX PPC 64 bit"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.aix.ppc64"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.aix.ppc64" version="1.1.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.aix.ppc64" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.aix.ppc64" version="1.1.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.aix.ppc64;singleton:=true
Bundle-Version: 1.1.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.tests.verifier" version="1.1.100.v20150430-1836">
<update id="org.eclipse.equinox.p2.tests.verifier" range="[0.0.0,1.1.100.v20150430-1836)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Test Install Verifier"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.tests.verifier"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.verifier" version="1.1.100.v20150430-1836"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests.verifier" version="1.1.100.v20150430-1836"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.tests.verifier" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk.scheduler" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="3.102.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="2.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="2.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations" range="2.3.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.tests.verifier" version="1.1.100.v20150430-1836"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.tests.verifier;singleton:=true
Bundle-Version: 1.1.100.v20150430-1836
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.contributions.source" version="3.4.0.v20160401-0528" singleton="false">
<update id="org.eclipse.ui.examples.contributions.source" range="[0.0.0,3.4.0.v20160401-0528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Command Contribution Examples Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.contributions"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.contributions.source" version="3.4.0.v20160401-0528"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.contributions.source" version="3.4.0.v20160401-0528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.contributions.source" version="3.4.0.v20160401-0528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.contributions.source
Bundle-Version: 3.4.0.v20160401-0528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.databinding" version="1.8.0.v20160329-1916" singleton="false">
<update id="org.eclipse.jface.databinding" range="[0.0.0,1.8.0.v20160329-1916)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding for SWT and JFace"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.databinding"/>
<property name="maven-version" value="1.8.0-SNAPSHOT"/>
</properties>
<provides size="16">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.databinding" version="1.8.0.v20160329-1916"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.databinding" version="1.8.0.v20160329-1916"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.dialog" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.fieldassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.preference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.viewers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.wizard" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.databinding.provisional.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.databinding.provisional.viewers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.databinding.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.databinding.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.internal.databinding.viewers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="[1.2.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.databinding" version="1.8.0.v20160329-1916"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.databinding
Bundle-Version: 1.8.0.v20160329-1916
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="tooling.osgi.bundle.default" version="1.0.0" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="0.0.0" multiple="true" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="0.0.0" multiple="true" greedy="false"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);
          </instruction>
<instruction key="unconfigure"/>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.felix.gogo.shell.source" version="0.10.0.v201212101605" singleton="false">
<update id="org.apache.felix.gogo.shell.source" range="[0.0.0,0.10.0.v201212101605)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Felix Gogo Shell Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell.source" version="0.10.0.v201212101605"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.shell.source" version="0.10.0.v201212101605"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.shell.source" version="0.10.0.v201212101605"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.shell.source
Bundle-Version: 0.10.0.v201212101605
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.tools.feature.feature.group" version="4.5.100.v20160414-1751" singleton="false">
<update id="org.eclipse.e4.core.tools.feature.feature.group" range="[0.0.0,4.5.100.v20160414-1751)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.tools.feature"/>
<property name="maven-version" value="4.5.100-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 BestSolution.at, Soyatec and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;BestSolution.at - initial API and implementation&#10;Soytec - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse e4 Tools"/>
<property name="df_LT.description" value="Eclipse e4 Model Tooling"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.feature.group" version="4.5.100.v20160414-1751"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.editor3x" range="[4.5.0.v20151104-1536,4.5.0.v20151104-1536]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.ui" range="[4.5.0.v20160414-1751,4.5.0.v20160414-1751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.compat" range="[4.5.0.v20160122-0831,4.5.0.v20160122-0831]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.services" range="[4.5.0.v20160211-2017,4.5.0.v20160211-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools" range="[4.5.0.v20160308-2123,4.5.0.v20160308-2123]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.jdt.templates" range="[4.5.0.v20151112-0802,4.5.0.v20151112-0802]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.feature.jar" range="[4.5.100.v20160414-1751,4.5.100.v20160414-1751]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.frameworkadmin.test" version="1.1.100.v20150430-1836" singleton="false">
<update id="org.eclipse.equinox.frameworkadmin.test" range="[0.0.0,1.1.100.v20150430-1836)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Test Plug-in for Framework Admin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.frameworkadmin.test"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.test" version="1.1.100.v20150430-1836"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.test" version="1.1.100.v20150430-1836"/>
<provided namespace="java.package" name="org.eclipse.equinox.frameworkadmin.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.equinox" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.frameworkadmin.test" version="1.1.100.v20150430-1836"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.test
Bundle-Version: 1.1.100.v20150430-1836
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.tool.source" version="1.1.100.v20160128-1641" singleton="false">
<update id="org.eclipse.jdt.compiler.tool.source" range="[0.0.0,1.1.100.v20160128-1641)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Compiler Tool Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.tool"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool.source" version="1.1.100.v20160128-1641"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.tool.source" version="1.1.100.v20160128-1641"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.tool.source" version="1.1.100.v20160128-1641"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.tool.source
Bundle-Version: 1.1.100.v20160128-1641
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.felix.gogo.shell" version="0.10.0.v201212101605" singleton="false">
<update id="org.apache.felix.gogo.shell" range="[0.0.0,0.10.0.v201212101605)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache Felix Gogo Shell"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="Apache Felix Gogo Subproject"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.apache.org/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="java.package" name="org.apache.felix.service.command" range="0.10.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.shell
Bundle-Version: 0.10.0.v201212101605
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.compatibility.state" version="1.0.100.v20150709-1617" singleton="false">
<update id="org.eclipse.osgi.compatibility.state" range="[0.0.0,1.0.100.v20150709-1617)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Equinox State and Resolver Compatibility Fragment"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.compatibility.state"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state" version="1.0.100.v20150709-1617"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.compatibility.state" version="1.0.100.v20150709-1617"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.osgi" version="1.0.100.v20150709-1617"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.10.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.compatibility.state" version="1.0.100.v20150709-1617"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.compatibility.state
Bundle-Version: 1.0.100.v20150709-1617
Fragment-Host: org.eclipse.osgi;bundle-version="3.10.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extensionlocation.source" version="1.2.300.v20160128-1810" singleton="false">
<update id="org.eclipse.equinox.p2.extensionlocation.source" range="[0.0.0,1.2.300.v20160128-1810)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Extension Location Repository Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extensionlocation"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation.source" version="1.2.300.v20160128-1810"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.extensionlocation.source" version="1.2.300.v20160128-1810"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.extensionlocation.source" version="1.2.300.v20160128-1810"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation.source
Bundle-Version: 1.2.300.v20160128-1810
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.artifact.repository.source" version="1.1.500.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.artifact.repository.source" range="[0.0.0,1.1.500.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Artifact Repository Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.artifact.repository"/>
<property name="maven-version" value="1.1.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository.source" version="1.1.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository.source" version="1.1.500.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.artifact.repository.source" version="1.1.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository.source
Bundle-Version: 1.1.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.objectweb.asm.source" version="5.0.1.v201404251740" singleton="false">
<update id="org.objectweb.asm.source" range="[0.0.0,5.0.1.v201404251740)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="ASM (Source)"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.source" version="5.0.1.v201404251740"/>
<provided namespace="osgi.bundle" name="org.objectweb.asm.source" version="5.0.1.v201404251740"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.objectweb.asm.source" version="5.0.1.v201404251740"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.objectweb.asm.source
Bundle-Version: 5.0.1.v201404251740
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ua.core.source" version="1.0.500.v20160204-0642" singleton="false">
<update id="org.eclipse.pde.ua.core.source" range="[0.0.0,1.0.500.v20160204-0642)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE UA Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ua.core"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.core.source" version="1.0.500.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ua.core.source" version="1.0.500.v20160204-0642"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ua.core.source" version="1.0.500.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ua.core.source
Bundle-Version: 1.0.500.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.source" version="3.12.0.v20160417-1322" singleton="false">
<update id="org.eclipse.jdt.core.source" range="[0.0.0,3.12.0.v20160417-1322)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.source" version="3.12.0.v20160417-1322"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.source" version="3.12.0.v20160417-1322"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.source" version="3.12.0.v20160417-1322"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.source
Bundle-Version: 3.12.0.v20160417-1322
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ecf.source" version="3.8.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.source" range="[0.0.0,3.8.0.v20160312-0656)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="ECF Core API Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.source" version="3.8.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.source" version="3.8.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.source" version="3.8.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.source
Bundle-Version: 3.8.0.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.di.source" version="1.1.0.v20150922-1735" singleton="false">
<update id="org.eclipse.e4.ui.di.source" range="[0.0.0,1.1.0.v20150922-1735)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI Dependency Injection Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.di"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.di.source" version="1.1.0.v20150922-1735"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.di.source" version="1.1.0.v20150922-1735"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.di.source" version="1.1.0.v20150922-1735"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.di.source
Bundle-Version: 1.1.0.v20150922-1735
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.user.ui.source.feature.group" version="2.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.user.ui.source.feature.group" range="[0.0.0,2.2.200.v20160317-1257)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.user.ui"/>
<property name="maven-version" value="2.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2009 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse p2 Provisioning Developer Resources"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.group" version="2.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite.source" range="[1.0.500.v20150907-2149,1.0.500.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport.source" range="[1.1.200.v20160102-2223,1.1.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.source.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.source.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.jar" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.browser" version="3.4.400.v20160415-0154">
<update id="org.eclipse.ui.browser" range="[0.0.0,3.4.400.v20160415-0154)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Browser Support"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.browser"/>
<property name="maven-version" value="3.4.400-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.browser" version="3.4.400.v20160415-0154"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.browser" version="3.4.400.v20160415-0154"/>
<provided namespace="java.package" name="org.eclipse.ui.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.browser.browsers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.browser.macosx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.browser" version="3.4.400.v20160415-0154"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.browser; singleton:=true
Bundle-Version: 3.4.400.v20160415-0154
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.core.feature.feature.group" version="1.3.0.v20160407-2059" singleton="false">
<update id="org.eclipse.equinox.core.feature.feature.group" range="[0.0.0,1.3.0.v20160407-2059)" severity="0"/>
<properties size="10">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.core.feature"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Core Function"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.feature.feature.group" version="1.3.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi" range="[3.11.0.v20160407-2059,3.11.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services" range="[3.5.0.v20150714-1510,3.5.0.v20150714-1510]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" range="[3.8.0.v20160324-1850,3.8.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds" range="[1.4.400.v20160226-2036,1.4.400.v20160226-2036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util" range="[1.0.500.v20130404-1337,1.0.500.v20130404-1337]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" range="[3.6.100.v20160223-2218,3.6.100.v20160223-2218]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.state" range="[1.0.100.v20150709-1617,1.0.100.v20150709-1617]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console" range="[1.1.200.v20150929-1405,1.1.200.v20150929-1405]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command" range="[0.10.0.v201209301215,0.10.0.v201209301215]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime" range="[0.10.0.v201209301036,0.10.0.v201209301036]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.shell" range="[0.10.0.v201212101605,0.10.0.v201212101605]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.feature.feature.jar" range="[1.3.0.v20160407-2059,1.3.0.v20160407-2059]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.osgiminimum10" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.osgiminimum10" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="OSGi/Minimum-1.0 Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentosgiminimum10"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.osgiminimum10"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum10" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.osgiminimum10" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.osgiminimum10" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.osgiminimum10
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.multipageeditor.source" version="3.2.300.v20151104-0051" singleton="false">
<update id="org.eclipse.ui.examples.multipageeditor.source" range="[0.0.0,3.2.300.v20151104-0051)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Multi-Page Editor Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.multipageeditor"/>
<property name="maven-version" value="3.2.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.multipageeditor.source" version="3.2.300.v20151104-0051"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.multipageeditor.source" version="3.2.300.v20151104-0051"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.multipageeditor.source" version="3.2.300.v20151104-0051"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.multipageeditor.source
Bundle-Version: 3.2.300.v20151104-0051
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534" singleton="false">
<update id="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="[0.0.0,1.1.200.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher GTK AIX PPC64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.aix.ppc64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.aix.ppc64"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.0.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.aix.ppc64" version="1.1.200.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.aix.ppc64
Bundle-Version: 1.1.200.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.macosx" version="1.3.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.macosx" range="[0.0.0,1.3.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Macintosh"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.macosx"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.macosx" version="1.3.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.macosx" version="1.3.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.3.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.os=macosx)(|(osgi.arch=ppc)(osgi.arch=x86)(osgi.arch=x86_64)))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.macosx" version="1.3.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.macosx; singleton:=true
Bundle-Version: 1.3.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.undo.source" version="3.2.301.v20160329-2017" singleton="false">
<update id="org.eclipse.ui.examples.undo.source" range="[0.0.0,3.2.301.v20160329-2017)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Undo Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.undo"/>
<property name="maven-version" value="3.2.301-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.undo.source" version="3.2.301.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.undo.source" version="3.2.301.v20160329-2017"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.undo.source" version="3.2.301.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.undo.source
Bundle-Version: 3.2.301.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.optional.junit" version="3.3.200.v20160315-2119" singleton="false">
<update id="org.eclipse.ant.optional.junit" range="[0.0.0,3.3.200.v20160315-2119)" severity="0"/>
<properties size="10">
<property name="df_LT.pluginName" value="Eclipse JUnit Fragment for Ant used in Eclipse Test Framework"/>
<property name="df_LT.Bundle-Description" value="This fragment is required by the Eclipse Test Framework. It allows communication between JUnit and Ant."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="%Bundle-Description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.optional.junit"/>
<property name="maven-version" value="3.3.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.optional.junit" version="3.3.200.v20160315-2119"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.optional.junit" version="3.3.200.v20160315-2119"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.apache.ant" version="3.3.200.v20160315-2119"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.apache.ant" range="[1.6.5,2.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.optional.junit" version="3.3.200.v20160315-2119"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.optional.junit
Bundle-Version: 3.3.200.v20160315-2119
Fragment-Host: org.apache.ant;bundle-version="[1.6.5,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.sdk.scheduler" version="1.2.100.v20150907-2149">
<update id="org.eclipse.equinox.p2.ui.sdk.scheduler" range="[0.0.0,1.2.100.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning Platform Automatic Update Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler" version="1.2.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk.scheduler" version="1.2.100.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.sdk.scheduler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="29">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatechecker" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="2.3.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="4.0.1"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine.phases" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.garbagecollector" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.query" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.query" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.updatechecker" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.ui" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.sdk.scheduler" version="1.2.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk.scheduler;singleton:=true
Bundle-Version: 1.2.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.ui.source" version="3.4.100.v20160128-1641" singleton="false">
<update id="org.eclipse.jdt.apt.ui.source" range="[0.0.0,3.4.100.v20160128-1641)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Annotation Processing UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.ui"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.ui.source" version="3.4.100.v20160128-1641"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.ui.source" version="3.4.100.v20160128-1641"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.ui.source" version="3.4.100.v20160128-1641"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.ui.source
Bundle-Version: 3.4.100.v20160128-1641
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Httpclient4 Filetransfer SSL Provider"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the SSL support for the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ui.views" version="3.8.0.v20160224-1855">
<update id="org.eclipse.ui.views" range="[0.0.0,3.8.0.v20160224-1855)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Views"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views" version="3.8.0.v20160224-1855"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views" version="3.8.0.v20160224-1855"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.contentoutline" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.contentoutline" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.properties" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views" version="3.8.0.v20160224-1855"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views; singleton:=true
Bundle-Version: 3.8.0.v20160224-1855
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform_root" version="4.7.0.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform_root" version="4.7.0.v20160417-1515"/>
</provides>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform_root" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.tests" version="1.0.100.v20150706-0746">
<update id="org.eclipse.equinox.security.tests" range="[0.0.0,1.0.100.v20150706-0746)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Equinox security tests"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.tests"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.tests" version="1.0.100.v20150706-0746"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.tests" version="1.0.100.v20150706-0746"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.tests.storage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.security.tests" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="0.0.1"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.2.200"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.tests" version="1.0.100.v20150706-0746"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.tests;singleton:=true
Bundle-Version: 1.0.100.v20150706-0746
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.publisher.eclipse" version="1.2.0.v20151011-0147">
<update id="org.eclipse.equinox.p2.publisher.eclipse" range="[0.0.0,1.2.0.v20151011-0147)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning Publisher for Eclipse"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.publisher.eclipse"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse" version="1.2.0.v20151011-0147"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.eclipse" version="1.2.0.v20151011-0147"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher.eclipse" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.build.publisher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.publishing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.swt.tools" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="34">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.equinox" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.utils" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.1.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.spi.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.util" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.3.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.pluginconversion" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.5.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.application" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.publisher.eclipse" version="1.2.0.v20151011-0147"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.publisher.eclipse;singleton:=true
Bundle-Version: 1.2.0.v20151011-0147
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.osgiminimum11" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.osgiminimum11" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="OSGi/Minimum-1.1 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentosgiminimum11"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.osgiminimum11"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum11" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.osgiminimum11" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.osgiminimum11" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.osgiminimum11
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.source.feature.jar" version="4.7.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse RCP Plug-in Developer Resources"/>
<property name="df_LT.description" value="Source code zips for the Eclipse RCP."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.rcp.feature"/>
<property name="maven-artifactId" value="org.eclipse.rcp"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.source.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.rcp.source" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.rcp.source" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.browser.source" version="3.4.400.v20160415-0154" singleton="false">
<update id="org.eclipse.ui.browser.source" range="[0.0.0,3.4.400.v20160415-0154)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Browser Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.browser"/>
<property name="maven-version" value="3.4.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.browser.source" version="3.4.400.v20160415-0154"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.browser.source" version="3.4.400.v20160415-0154"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.browser.source" version="3.4.400.v20160415-0154"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.browser.source
Bundle-Version: 3.4.400.v20160415-0154
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.examples.xml" version="3.4.0.v20160323-1742">
<update id="org.eclipse.compare.examples.xml" range="[0.0.0,3.4.0.v20160323-1742)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="XML Compare Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.examples.xml"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.examples.xml" version="3.4.0.v20160323-1742"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.examples.xml" version="3.4.0.v20160323-1742"/>
<provided namespace="java.package" name="org.eclipse.compare.examples.xml" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.examples.xml.ui" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.examples.xml" version="3.4.0.v20160323-1742"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.examples.xml; singleton:=true
Bundle-Version: 3.4.0.v20160323-1742
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.source.feature.jar" version="2.2.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Help Developer Resources"/>
<property name="df_LT.description" value="Source code for the Eclipse help system."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.help.feature"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="2.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source.feature.jar" version="2.2.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.help.source" version="2.2.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.help.source" version="2.2.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.configuration" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.configuration" version="1.0.0"/>
</provides>
<filter>
        (!(osgi.os=macosx))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.ppc" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.ppc" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.ppc"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.ppc" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.ppc" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.ppc" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.ppc; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.ant" version="1.9.6.v201510161327" singleton="false">
<update id="org.apache.ant" range="[0.0.0,1.9.6.v201510161327)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Ant"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="75">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.ant" version="1.9.6.v201510161327"/>
<provided namespace="osgi.bundle" name="org.apache.ant" version="1.9.6.v201510161327"/>
<provided namespace="java.package" name="org.apache.tools.ant" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.attribute" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.dispatch" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.filters" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.filters.util" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.helper" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.input" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.launch" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.listener" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.loader" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.property" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.compilers" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.condition" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.cvslib" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.email" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.ccm" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.clearcase" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.depend" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.depend.constantpool" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.ejb" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.extension" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.extension.resolvers" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.i18n" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.image" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.j2ee" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.javacc" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.javah" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.jdepend" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.jlink" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.jsp" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.jsp.compilers" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.junit" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.native2ascii" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.net" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.pvcs" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.script" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.sos" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.sound" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.splash" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.ssh" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.testing" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.unix" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.vss" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.optional.windows" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.taskdefs.rmic" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.mappers" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.optional" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.optional.depend" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.optional.image" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.resolver" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.resources.comparators" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.resources.selectors" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.selectors" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.selectors.modifiedselector" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.types.spi" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.depend" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.depend.bcel" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.facade" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.java15" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.optional" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.ant.util.regexp" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.bzip2" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.mail" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.tar" version="0.0.0"/>
<provided namespace="java.package" name="org.apache.tools.zip" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.ant" version="1.9.6.v201510161327"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.ant
Bundle-Version: 1.9.6.v201510161327
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.rcp.source.feature.jar" version="1.5.0.v20160415-1410">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2016 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse 4 Rich Client Platform Developer Resources"/>
<property name="df_LT.description" value="The bundles typical required by Eclipse RCP applications as of version 4.0"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.e4.feature"/>
<property name="maven-artifactId" value="org.eclipse.e4.rcp"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.source.feature.jar" version="1.5.0.v20160415-1410"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.e4.rcp.source" version="1.5.0.v20160415-1410"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.e4.rcp.source" version="1.5.0.v20160415-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.ui.bindings.tests" version="0.10.0.v20151005-1657" singleton="false">
<update id="org.eclipse.e4.ui.bindings.tests" range="[0.0.0,0.10.0.v20151005-1657)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="UI Bindings Tests"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.bindings.tests"/>
<property name="maven-version" value="0.10.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.bindings.tests" version="0.10.0.v20151005-1657"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings.tests" version="0.10.0.v20151005-1657"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.bindings.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.commands" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.internal.services" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.ui.services" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings.keys" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jface.bindings.keys.formatting" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.bindings.tests" version="0.10.0.v20151005-1657"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.bindings.tests
Bundle-Version: 0.10.0.v20151005-1657
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.metatype.source" version="1.4.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.metatype.source" range="[0.0.0,1.4.200.v20160324-1850)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Meta Type Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.metatype"/>
<property name="maven-version" value="1.4.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.metatype.source" version="1.4.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.metatype.source" version="1.4.200.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.metatype.source" version="1.4.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.metatype.source
Bundle-Version: 1.4.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.pde.ui.tests" version="3.2.0.v20160415-0840">
<update id="org.eclipse.pde.ui.tests" range="[0.0.0,3.2.0.v20160415-0840)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="PDE JUnit Tests"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ui.tests"/>
<property name="maven-version" value="3.2.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.tests" version="3.2.0.v20160415-0840"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ui.tests" version="3.2.0.v20160415-0840"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="31">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views.log" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ui.tests" version="3.2.0.v20160415-0840"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ui.tests; singleton:=true
Bundle-Version: 3.2.0.v20160415-0840
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.publisher" version="1.4.0.v20150907-2149">
<update id="org.eclipse.equinox.p2.publisher" range="[0.0.0,1.4.0.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning Publisher Infrastructure"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.publisher"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher" version="1.4.0.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher" version="1.4.0.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.publisher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.publisher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.publisher.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.spi.p2.publisher" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="23">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.8.0"/>
<required namespace="java.package" name="org.eclipse.equinox.app" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.index" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.index" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.application" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.publisher" version="1.4.0.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.publisher;singleton:=true
Bundle-Version: 1.4.0.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.transport.ecf.source" version="1.1.100.v20150521-1342" singleton="false">
<update id="org.eclipse.equinox.p2.transport.ecf.source" range="[0.0.0,1.1.100.v20150521-1342)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning ECF based Transport Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.transport.ecf"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf.source" version="1.1.100.v20150521-1342"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.transport.ecf.source" version="1.1.100.v20150521-1342"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.transport.ecf.source" version="1.1.100.v20150521-1342"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.transport.ecf.source
Bundle-Version: 1.1.100.v20150521-1342
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.ui" version="3.4.0.v20160404-1158">
<update id="org.eclipse.team.cvs.ui" range="[0.0.0,3.4.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="CVS Team Provider UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.ui"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ui" version="3.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.ui" version="3.4.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.mappings" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.repo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.subscriber" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.tags" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.ccvs.ui.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.4.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="4.4.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.ui" version="3.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.ui; singleton:=true
Bundle-Version: 3.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.frameworkadmin.equinox.source" version="1.0.700.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.frameworkadmin.equinox.source" range="[0.0.0,1.0.700.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Framework Admin for Equinox Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.frameworkadmin.equinox"/>
<property name="maven-version" value="1.0.700-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox.source" version="1.0.700.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.equinox.source" version="1.0.700.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.frameworkadmin.equinox.source" version="1.0.700.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox.source
Bundle-Version: 1.0.700.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.ip" version="1.1.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.ip" range="[0.0.0,1.1.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Initial Provisioning"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="Provides implementation of the Intial Provisioning servicedefined by OSGi specification release 4."/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.ip"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ip" version="1.1.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.ip" version="1.1.300.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.dscagent" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.provider.env" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.provider.file" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.provider.http" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.storage.cm" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ip.storage.file" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="java.package" name="javax.servlet" range="2.1.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.1.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.ref" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.timer" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.provisioning" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.useradmin" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.ip" version="1.1.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.ip
Bundle-Version: 1.1.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.core.source" version="3.8.0.v20160404-1158" singleton="false">
<update id="org.eclipse.team.core.source" range="[0.0.0,3.8.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Team Support Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.core"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.core.source" version="3.8.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.core.source" version="3.8.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.core.source" version="3.8.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.core.source
Bundle-Version: 3.8.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform" version="4.7.0.v20160417-1515">
<update id="org.eclipse.platform" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Platform"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.platform"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform" version="4.7.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.platform" version="4.7.0.v20160417-1515"/>
<provided namespace="java.package" name="org.eclipse.platform.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.platform" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.platform; singleton:=true
Bundle-Version: 4.7.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.publisher.eclipse.source" version="1.2.0.v20151011-0147" singleton="false">
<update id="org.eclipse.equinox.p2.publisher.eclipse.source" range="[0.0.0,1.2.0.v20151011-0147)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Publisher for Eclipse Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.publisher.eclipse"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse.source" version="1.2.0.v20151011-0147"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.eclipse.source" version="1.2.0.v20151011-0147"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.publisher.eclipse.source" version="1.2.0.v20151011-0147"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.publisher.eclipse.source
Bundle-Version: 1.2.0.v20151011-0147
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.manipulation.source" version="1.7.0.v20151129-1935" singleton="false">
<update id="org.eclipse.jdt.core.manipulation.source" range="[0.0.0,1.7.0.v20151129-1935)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Code Manipulation Functionality Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.manipulation"/>
<property name="maven-version" value="1.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.manipulation.source" version="1.7.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation.source" version="1.7.0.v20151129-1935"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.manipulation.source" version="1.7.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.manipulation.source
Bundle-Version: 1.7.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.discovery" version="1.0.100.v20150907-2149">
<update id="org.eclipse.equinox.p2.ui.discovery" range="[0.0.0,1.0.100.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.Bundle-Name" value="Equinox Provisioning Discovery UI"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.discovery"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.discovery" version="1.0.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.discovery" version="1.0.100.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery.repository" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.discovery.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery" range="[1.0.0,1.1.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.browser" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery.compatibility" range="[1.0.0,1.1.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="2.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="2.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.discovery" version="1.0.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.discovery;singleton:=true
Bundle-Version: 1.0.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.hpux.ia64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.hpux.ia64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.views.properties.tabbed" version="3.7.0.v20160310-0903">
<update id="org.eclipse.ui.views.properties.tabbed" range="[0.0.0,3.7.0.v20160310-0903)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Tabbed Properties View"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views.properties.tabbed"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.properties.tabbed" version="3.7.0.v20160310-0903"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views.properties.tabbed" version="3.7.0.v20160310-0903"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.properties.tabbed" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.properties.tabbed.l10n" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.properties.tabbed.view" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.properties.tabbed" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views.properties.tabbed" version="3.7.0.v20160310-0903"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views.properties.tabbed;singleton:=true
Bundle-Version: 3.7.0.v20160310-0903
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.trace.source" version="1.0.300.v20150911-1533" singleton="false">
<update id="org.eclipse.ui.trace.source" range="[0.0.0,1.0.300.v20150911-1533)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Dynamic Tracing Enablement UI  Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.trace"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.trace.source" version="1.0.300.v20150911-1533"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.trace.source" version="1.0.300.v20150911-1533"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.trace.source" version="1.0.300.v20150911-1533"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.trace.source
Bundle-Version: 1.0.300.v20150911-1533
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.core.feature.feature.group" version="1.3.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.core.feature.feature.group" range="[0.0.0,1.3.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Core Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF core (org.eclipse.ecf) and ECF identity (org.eclipse.ecf.identity) bundles.  These two bundles are required for all other parts of ECF."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.feature.feature.group" version="1.3.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" range="[3.6.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry" range="[3.5.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.concurrent" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.jobs" range="[3.5.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf" range="[3.8.0.v20160312-0656,3.8.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity" range="[3.7.0.v20160312-0656,3.7.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.feature.feature.jar" range="[1.3.0.v20160312-0656,1.3.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.hamcrest" version="1.1.0.v20090501071000" singleton="false">
<update id="org.hamcrest" range="[0.0.0,1.1.0.v20090501071000)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Library of Matchers"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest" version="1.1.0.v20090501071000"/>
<provided namespace="osgi.bundle" name="org.hamcrest" version="1.1.0.v20090501071000"/>
<provided namespace="java.package" name="org.hamcrest" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.hamcrest.library" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.hamcrest.generator" range="1.1.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.hamcrest.integration" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.hamcrest.text" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest" version="1.1.0.v20090501071000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest
Bundle-Version: 1.1.0.v20090501071000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.cvs.source.feature.group" version="1.4.300.v20160417-1515" singleton="false">
<update id="org.eclipse.cvs.source.feature.group" range="[0.0.0,1.4.300.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.cvs.feature"/>
<property name="maven-artifactId" value="org.eclipse.cvs"/>
<property name="maven-version" value="1.4.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2012 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse CVS Client Resources"/>
<property name="df_LT.description" value="API documentation and source code zips for Eclipse CVS client."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.source.feature.group" version="1.4.300.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.feature.group" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.core.source" range="[3.4.0.v20160404-1158,3.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ssh2.source" range="[3.3.0.v20160404-1158,3.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.ui.source" range="[3.4.0.v20160404-1158,3.4.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.source.feature.jar" range="[1.4.300.v20160417-1515,1.4.300.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.core.filebuffers.tests" version="3.11.0.v20160404-2012">
<update id="org.eclipse.core.filebuffers.tests" range="[0.0.0,3.11.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="File Buffers Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filebuffers.tests"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filebuffers.tests" version="3.11.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.core.filebuffers.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filebuffers.tests" version="3.11.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filebuffers.tests;singleton:=true
Bundle-Version: 3.11.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.coordinator.source" version="1.3.200.v20160325-1323" singleton="false">
<update id="org.eclipse.equinox.coordinator.source" range="[0.0.0,1.3.200.v20160325-1323)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Coordinator Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.coordinator"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.coordinator.source" version="1.3.200.v20160325-1323"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.coordinator.source" version="1.3.200.v20160325-1323"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.coordinator.source" version="1.3.200.v20160325-1323"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.coordinator.source
Bundle-Version: 1.3.200.v20160325-1323
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.registry.source" version="1.1.400.v20150715-1528" singleton="false">
<update id="org.eclipse.equinox.http.registry.source" range="[0.0.0,1.1.400.v20150715-1528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Http Service Registry Extensions Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.registry"/>
<property name="maven-version" value="1.1.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry.source" version="1.1.400.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.registry.source" version="1.1.400.v20150715-1528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.registry.source" version="1.1.400.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.registry.source
Bundle-Version: 1.1.400.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.editors" version="3.10.0.v20160222-1603">
<update id="org.eclipse.ui.editors" range="[0.0.0,3.10.0.v20160222-1603)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Default Text Editor"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.editors"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors" version="3.10.0.v20160222-1603"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.editors" version="3.10.0.v20160222-1603"/>
<provided namespace="java.package" name="org.eclipse.ui.editors.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.editors.text.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.editors.quickdiff" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.editors.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.101.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.editors" version="3.10.0.v20160222-1603"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.editors; singleton:=true
Bundle-Version: 3.10.0.v20160222-1603
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.tests.net" version="1.4.0.v20160404-1158" singleton="false">
<update id="org.eclipse.core.tests.net" range="[0.0.0,1.4.0.v20160404-1158)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Net Tests Plug-in"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.tests.net"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.tests.net" version="1.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.tests.net" version="1.4.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.core.tests.net" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.tests.net" version="1.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.tests.net
Bundle-Version: 1.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.s390x" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.s390x" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.s390x" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.di.extensions.source" version="0.14.0.v20160211-1614" singleton="false">
<update id="org.eclipse.e4.core.di.extensions.source" range="[0.0.0,0.14.0.v20160211-1614)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Dependency Injection Extensions Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di.extensions"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.extensions.source" version="0.14.0.v20160211-1614"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions.source" version="0.14.0.v20160211-1614"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di.extensions.source" version="0.14.0.v20160211-1614"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di.extensions.source
Bundle-Version: 0.14.0.v20160211-1614
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="javax.inject.source" version="1.0.0.v20091030" singleton="false">
<update id="javax.inject.source" range="[0.0.0,1.0.0.v20091030)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Atinject Dependency Injection Annotations"/>
<property name="df_LT.bundleProvider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.inject.source" version="1.0.0.v20091030"/>
<provided namespace="osgi.bundle" name="javax.inject.source" version="1.0.0.v20091030"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.inject.source" version="1.0.0.v20091030"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.inject.source
Bundle-Version: 1.0.0.v20091030
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.jsp.jasper.source" version="1.0.500.v20150119-1358" singleton="false">
<update id="org.eclipse.equinox.jsp.jasper.source" range="[0.0.0,1.0.500.v20150119-1358)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Jasper Jsp Support Bundle Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.jsp.jasper"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.source" version="1.0.500.v20150119-1358"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper.source" version="1.0.500.v20150119-1358"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.jsp.jasper.source" version="1.0.500.v20150119-1358"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper.source
Bundle-Version: 1.0.500.v20150119-1358
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.feature.feature.jar" version="1.0.1.v20140424-1723">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="API Tools Execution Environment Descriptions"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.description" value="This feature provides API Tools Execution Environment Descriptions for the following environments:&#10;JRE-1.1, J2SE-1.2, J2SE-1.3, J2SE-1.4, J2SE-1.5, JavaSE-1.6, JavaSE-1.7, JavaSE-1.8, CDC-1.0/Foundation-1.0, &#10;CDC-1.1/Foundation-1.1, OSGi/Minimum-1.0, OSGi/Minimum-1.1, OSGi/Minimum-1.2"/>
<property name="df_LT.copyright" value="Copyright (c) 2012 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.feature"/>
<property name="maven-version" value="1.0.1-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.feature.feature.jar" version="1.0.1.v20140424-1723"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.pde.api.tools.ee.feature" version="1.0.1.v20140424-1723"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.pde.api.tools.ee.feature" version="1.0.1.v20140424-1723"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse.t.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.s.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.l.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.m.pm, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.admin" version="1.0.200.v20150430-1836">
<update id="org.eclipse.equinox.p2.ui.admin" range="[0.0.0,1.0.200.v20150430-1836)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="p2 Admin UI"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.admin"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin" version="1.0.200.v20150430-1836"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.admin" version="1.0.200.v20150430-1836"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.admin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.admin.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.admin.preferences" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="26">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.dialogs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.model" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.query" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.viewers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.updatechecker" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.ui" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.admin" version="1.0.200.v20150430-1836"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin;singleton:=true
Bundle-Version: 1.0.200.v20150430-1836
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.700.v20160102-2223">
<update id="org.eclipse.equinox.frameworkadmin.equinox" range="[0.0.0,1.0.700.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Framework Admin for Equinox"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.frameworkadmin.equinox"/>
<property name="maven-version" value="1.0.700-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.700.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.700.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.equinox" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.equinox.utils" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.utils" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configuratormanipulator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.1.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.frameworkadmin.equinox" version="1.0.700.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox;singleton:=true
Bundle-Version: 1.0.700.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.feature.jar" version="4.7.0.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Platform"/>
<property name="df_LT.description" value="Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.platform.feature"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.platform" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.platform" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.examples.views" version="3.105.0.v20150928-1000">
<update id="org.eclipse.swt.examples.views" range="[0.0.0,3.105.0.v20150928-1000)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin.SWTPaintExample.name" value="SWT Views Example Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.SWTPaintExample.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.views"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.views" version="3.105.0.v20150928-1000"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.views" version="3.105.0.v20150928-1000"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt.examples" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.views" version="3.105.0.v20150928-1000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.views;singleton:=true
Bundle-Version: 3.105.0.v20150928-1000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.discovery.compatibility.source" version="1.0.200.v20131211-1531" singleton="false">
<update id="org.eclipse.equinox.p2.discovery.compatibility.source" range="[0.0.0,1.0.200.v20131211-1531)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Discovery Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery.compatibility"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.compatibility.source" version="1.0.200.v20131211-1531"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery.compatibility.source" version="1.0.200.v20131211-1531"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.discovery.compatibility.source" version="1.0.200.v20131211-1531"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.discovery.compatibility.source
Bundle-Version: 1.0.200.v20131211-1531
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.bidi" version="1.0.0.v20160307-1318">
<update id="org.eclipse.equinox.bidi" range="[0.0.0,1.0.0.v20160307-1318)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Bidirectional Text Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.bidi"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi" version="1.0.0.v20160307-1318"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.bidi" version="1.0.0.v20160307-1318"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.advanced" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.internal.consumable" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.5.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.bidi" version="1.0.0.v20160307-1318"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.bidi;singleton:=true
Bundle-Version: 1.0.0.v20160307-1318
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534" singleton="false">
<update id="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="[0.0.0,1.0.200.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher GTK HPUX IA64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.hpux.ia64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.hpux.ia64"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.0.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.0.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="3">
<instruction key="zipped">
            true
          </instruction>
<instruction key="install">
            chmod(targetDir:${artifact.location},targetFile:eclipse_1615.so,permissions:755);
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.hpux.ia64
Bundle-Version: 1.0.200.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse.t.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.s.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.l.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.m.pm, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.propertysheet.source" version="3.2.400.v20160329-2017" singleton="false">
<update id="org.eclipse.ui.examples.propertysheet.source" range="[0.0.0,3.2.400.v20160329-2017)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="User File Editor Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.propertysheet"/>
<property name="maven-version" value="3.2.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.propertysheet.source" version="3.2.400.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.propertysheet.source" version="3.2.400.v20160329-2017"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.propertysheet.source" version="3.2.400.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.propertysheet.source
Bundle-Version: 3.2.400.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.source.feature.feature.group" version="3.13.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.source.feature.feature.group" range="[0.0.0,3.13.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Filetransfer Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF Filetransfer API bundle.  This API is used&#10;by the Eclipse platform to support P2 filetransfer and is required for any of the ECF FileTransfer providers."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source.feature.feature.group" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.source" range="[3.2.200.v20160312-0656,3.2.200.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source" range="[5.0.0.v20160312-0656,5.0.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.ssl.source" range="[1.0.0.v20160312-0656,1.0.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source.feature.feature.jar" range="[3.13.0.v20160312-0656,3.13.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2004, 2007 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.concurrent" version="1.1.0.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.concurrent" range="[0.0.0,1.1.0.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginProvider" value="Eclipse.org - Equinox"/>
<property name="df_LT.pluginName" value="Equinox Concurrent API"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%pluginProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.concurrent"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.concurrent" version="1.1.0.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.concurrent" version="1.1.0.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.concurrent.future" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="java.package" name="org.eclipse.core.runtime" range="3.4.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.concurrent" version="1.1.0.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.concurrent
Bundle-Version: 1.1.0.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.configuration" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.configuration" version="1.0.0"/>
</provides>
<filter>
        (!(osgi.os=macosx))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.servlet.source" version="1.3.0.v20160413-1503" singleton="false">
<update id="org.eclipse.equinox.http.servlet.source" range="[0.0.0,1.3.0.v20160413-1503)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Http Services Servlet Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.servlet"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet.source" version="1.3.0.v20160413-1503"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.servlet.source" version="1.3.0.v20160413-1503"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.servlet.source" version="1.3.0.v20160413-1503"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.servlet.source
Bundle-Version: 1.3.0.v20160413-1503
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.widgets" version="1.1.0.v20150813-1519" singleton="false">
<update id="org.eclipse.e4.ui.widgets" range="[0.0.0,1.1.0.v20150813-1519)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse UI Custom widgets"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.widgets"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.widgets" version="1.1.0.v20150813-1519"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.widgets" version="1.1.0.v20150813-1519"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.widgets" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.6.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.widgets" version="1.1.0.v20150813-1519"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.widgets
Bundle-Version: 1.1.0.v20150813-1519
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.ppc64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.ppc64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Filetransfer SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the SSL support for the ECF FileTransfer API used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.ssl.source" range="[1.0.0.v20160312-0656,1.0.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ui.net.source" version="1.3.0.v20160404-1158" singleton="false">
<update id="org.eclipse.ui.net.source" range="[0.0.0,1.3.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Internet Connection Management UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.net"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.net.source" version="1.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.net.source" version="1.3.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.net.source" version="1.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.net.source
Bundle-Version: 1.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.tests.ui" version="1.1.100.v20150430-1836" singleton="false">
<update id="org.eclipse.equinox.p2.tests.ui" range="[0.0.0,1.1.100.v20150430-1836)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Tests (Incubation)"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.tests.ui"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.tests.ui" version="1.1.100.v20150430-1836"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests.ui" version="1.1.100.v20150430-1836"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.4.100"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" range="1.0.100"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.tests" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.importexport" range="1.0.1"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.operations" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.tests.ui" version="1.1.100.v20150430-1836"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.tests.ui
Bundle-Version: 1.1.100.v20150430-1836
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.tests" version="1.0.600.v20160411-1552" singleton="false">
<update id="org.eclipse.pde.api.tools.tests" range="[0.0.0,1.0.600.v20160411-1552)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="API Tools Tests"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.tests"/>
<property name="maven-version" value="1.0.600-SNAPSHOT"/>
</properties>
<provides size="21">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.tests" version="1.0.600.v20160411-1552"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.tests" version="1.0.600.v20160411-1552"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.anttasks.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.apiusescan.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.annotations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.leak" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.tags" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.builder.tests.usage" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.comparator.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.model.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.problems.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.reference.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.search.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.tests.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.util.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.600"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.objectweb.asm" range="[5.0.1,6.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="3.8.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.tests" version="1.0.600.v20160411-1552"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.tests
Bundle-Version: 1.0.600.v20160411-1552
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.http.jetty.source" version="3.3.0.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.http.jetty.source" range="[0.0.0,3.3.0.v20160324-1850)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Jetty Http Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.jetty"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty.source" version="3.3.0.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.jetty.source" version="3.3.0.v20160324-1850"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.jetty.source" version="3.3.0.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.jetty.source
Bundle-Version: 3.3.0.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.observable.source" version="1.6.0.v20160331-0824" singleton="false">
<update id="org.eclipse.core.databinding.observable.source" range="[0.0.0,1.6.0.v20160331-0824)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding Observables Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.observable"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.observable.source" version="1.6.0.v20160331-0824"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.observable.source" version="1.6.0.v20160331-0824"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.observable.source" version="1.6.0.v20160331-0824"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.observable.source
Bundle-Version: 1.6.0.v20160331-0824
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.services" version="2.0.0.v20160319-0607">
<update id="org.eclipse.e4.core.services" range="[0.0.0,2.0.0.v20160319-0607)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Application Services"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.services"/>
<property name="maven-version" value="2.0.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.services" version="2.0.0.v20160319-0607"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.services" version="2.0.0.v20160319-0607"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.adapter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.contributions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.log" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.nls" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.statusreporter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.services.translation" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.services" version="2.0.0.v20160319-0607"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.services;singleton:=true
Bundle-Version: 2.0.0.v20160319-0607
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.server.core.feature.jar" version="1.4.0.v20160407-2059">
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="Core Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.core"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.core.feature.jar" version="1.4.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.server.core" version="1.4.0.v20160407-2059"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.server.core" version="1.4.0.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.http" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.http" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Http Utility"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Http Utility"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.http" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.http" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.3.5,9.3.6)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.resource" range="[9.3.5,9.3.6)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.http" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.http
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.help.feature.jar" version="2.2.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.update.feature.plugin" value="org.eclipse.help.base"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Help System"/>
<property name="df_LT.description" value="Eclipse help system."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.help.feature"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="2.2.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.jar" version="2.2.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.help" version="2.2.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.help" version="2.2.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.pluggable.core.source" version="1.1.100.v20160415-0647" singleton="false">
<update id="org.eclipse.jdt.apt.pluggable.core.source" range="[0.0.0,1.1.100.v20160415-0647)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Compiler Apt IDE Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.pluggable.core"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.core.source" version="1.1.100.v20160415-0647"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.pluggable.core.source" version="1.1.100.v20160415-0647"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.pluggable.core.source" version="1.1.100.v20160415-0647"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.pluggable.core.source
Bundle-Version: 1.1.100.v20160415-0647
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.tools.feature.source.feature.jar" version="4.5.100.v20160414-1751">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 BestSolution.at, Soyatec and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;BestSolution.at - initial API and implementation&#10;Soytec - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse e4 Tools Developer Resources"/>
<property name="df_LT.description" value="Eclipse e4 Model Tooling"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.tools.feature"/>
<property name="maven-version" value="4.5.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.source.feature.jar" version="4.5.100.v20160414-1751"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.e4.core.tools.feature.source" version="4.5.100.v20160414-1751"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.e4.core.tools.feature.source" version="4.5.100.v20160414-1751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.pde.api.tools.ui.source" version="1.1.0.v20160403-0937" singleton="false">
<update id="org.eclipse.pde.api.tools.ui.source" range="[0.0.0,1.1.0.v20160403-0937)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="API Tools UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ui.source" version="1.1.0.v20160403-0937"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ui.source" version="1.1.0.v20160403-0937"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ui.source" version="1.1.0.v20160403-0937"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ui.source
Bundle-Version: 1.1.0.v20160403-0937
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.tests" version="3.10.0.v20160216-0617">
<update id="org.eclipse.debug.tests" range="[0.0.0,3.10.0.v20160216-0617)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Debug Test Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.tests"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.tests" version="3.10.0.v20160216-0617"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.tests" version="3.10.0.v20160216-0617"/>
<provided namespace="java.package" name="org.eclipse.debug.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.breakpoint" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.expressions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.statushandlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.stepfilters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.view.memory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.tests.viewer.model" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.externaltools" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.tests" version="3.10.0.v20160216-0617"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.tests;singleton:=true
Bundle-Version: 3.10.0.v20160216-0617
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.solaris.x86_64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.solaris.x86_64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.solaris.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.solaris.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.solaris.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.solaris.x86_64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.solaris.x86_64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.cvs" version="1.4.300.v20160417-1515">
<update id="org.eclipse.cvs" range="[0.0.0,1.4.300.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse CVS Client"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.cvs"/>
<property name="maven-artifactId" value="org.eclipse.cvs"/>
<property name="maven-version" value="1.4.300-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs" version="1.4.300.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.cvs" version="1.4.300.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.cvs" version="1.4.300.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.cvs; singleton:=true
Bundle-Version: 1.4.300.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.externaltools.source" version="1.0.300.v20140219-0051" singleton="false">
<update id="org.eclipse.core.externaltools.source" range="[0.0.0,1.0.300.v20140219-0051)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="External Tools Headless Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.externaltools"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.externaltools.source" version="1.0.300.v20140219-0051"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.externaltools.source" version="1.0.300.v20140219-0051"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.externaltools.source" version="1.0.300.v20140219-0051"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.externaltools.source
Bundle-Version: 1.0.300.v20140219-0051
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.garbagecollector.source" version="1.0.200.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.garbagecollector.source" range="[0.0.0,1.0.200.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Garbage Collector Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.garbagecollector"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector.source" version="1.0.200.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.garbagecollector.source" version="1.0.200.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.garbagecollector.source" version="1.0.200.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector.source
Bundle-Version: 1.0.200.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934">
<update id="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[0.0.0,1.1.300.v20160408-1934)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Solaris X86_64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.solaris.x86_64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.solaris.x86_64"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160408-1934"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.solaris.x86_64;singleton:=true
Bundle-Version: 1.1.300.v20160408-1934
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="1.1.300.v20160408-1934"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" version="1.1.300.v20160408-1934"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="1.1.300.v20160408-1934"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding" version="1.6.0.v20160412-0910" singleton="false">
<update id="org.eclipse.core.databinding" range="[0.0.0,1.6.0.v20160412-0910)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding" version="1.6.0.v20160412-0910"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding" version="1.6.0.v20160412-0910"/>
<provided namespace="java.package" name="org.eclipse.core.databinding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.conversion" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.validation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.conversion" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.validation" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.math" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.4.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.3.3,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="[1.0.0,2.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding" version="1.6.0.v20160412-0910"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding
Bundle-Version: 1.6.0.v20160412-0910
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extras.feature.feature.group" version="1.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.extras.feature.feature.group" range="[0.0.0,1.2.200.v20160317-1257)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extras.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Equinox p2, backward compatibility support"/>
<property name="df_LT.description" value="Provides some backward compatibility support (e.g. drop-ins, legacy update site) and the metadata generation facility."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.feature.group" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher" range="[1.1.100.v20150423-1455,1.1.100.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins" range="[1.1.300.v20150907-2149,1.1.300.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher" range="[1.4.0.v20150907-2149,1.4.0.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation" range="[1.2.300.v20160128-1810,1.2.300.v20160128-1810]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools" range="[2.1.300.v20151005-0151,2.1.300.v20151005-0151]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse" range="[1.2.0.v20151011-0147,1.2.0.v20151011-0147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.feature.jar" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.sun.el.source" version="2.2.0.v201303151357" singleton="false">
<update id="com.sun.el.source" range="[0.0.0,2.2.0.v201303151357)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Javax El Reference Implementation Source Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.sun.el.source" version="2.2.0.v201303151357"/>
<provided namespace="osgi.bundle" name="com.sun.el.source" version="2.2.0.v201303151357"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.sun.el.source" version="2.2.0.v201303151357"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.sun.el.source
Bundle-Version: 2.2.0.v201303151357
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.io.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.io.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: IO Utility"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.io.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.io.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.io.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.user.ui.source.feature.jar" version="2.2.200.v20160317-1257">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2009 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse p2 Provisioning Developer Resources"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.user.ui"/>
<property name="maven-version" value="2.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.jar" version="2.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.user.ui.source" version="2.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.user.ui.source" version="2.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.navigator.resources" version="3.5.100.v20160406-0821">
<update id="org.eclipse.ui.navigator.resources" range="[0.0.0,3.5.100.v20160406-0821)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Navigator Workbench Components"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.navigator.resources"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.resources" version="3.5.100.v20160406-0821"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.navigator.resources" version="3.5.100.v20160406-0821"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.resources.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.resources.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.resources.workbench" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.resources.nested" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.navigator.workingsets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.navigator.resources" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views.properties.tabbed" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.navigator.resources" version="3.5.100.v20160406-0821"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.navigator.resources; singleton:=true
Bundle-Version: 3.5.100.v20160406-0821
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.swt.gtk.linux.x86_64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.linux.x86_64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.x86_64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.x86_64; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.cocoa.macosx.x86_64" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.cocoa.macosx.x86_64" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for Mac OS X (Cocoa)"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.cocoa.macosx.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="23">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.cocoa.macosx.x86_64" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cocoa" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.cocoa.macosx.x86_64" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.cocoa.macosx.x86_64; singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.win32" version="3.2.500.v20160108-1409" singleton="false">
<update id="org.eclipse.ui.win32" range="[0.0.0,3.2.500.v20160108-1409)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Eclipse UI Win32 Enhancements"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment-win32"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.win32"/>
<property name="maven-version" value="3.2.500-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.win32" version="3.2.500.v20160108-1409"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.win32" version="3.2.500.v20160108-1409"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.editorsupport.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.ui.ide" version="3.2.500.v20160108-1409"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.2.0,4.0.0)"/>
</requires>
<filter>
        (osgi.ws=win32)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.win32" version="3.2.500.v20160108-1409"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.win32
Bundle-Version: 3.2.500.v20160108-1409
Fragment-Host: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.di" version="1.6.0.v20160319-0612" singleton="false">
<update id="org.eclipse.e4.core.di" range="[0.0.0,1.6.0.v20160319-0612)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Dependency Injection"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di" version="1.6.0.v20160319-0612"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di" version="1.6.0.v20160319-0612"/>
<provided namespace="java.package" name="org.eclipse.e4.core.di" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.di.suppliers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.di" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.di.osgi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.di.shared" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.annotations" range="[1.4.0,2.0.0)"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.8.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.5.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di" version="1.6.0.v20160319-0612"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di
Bundle-Version: 1.6.0.v20160319-0612
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.server.p2.feature.jar" version="1.2.300.v20160120-1756">
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="p2 Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.p2"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.p2.feature.jar" version="1.2.300.v20160120-1756"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.server.p2" version="1.2.300.v20160120-1756"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.server.p2" version="1.2.300.v20160120-1756"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.platform.source.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.platform.source.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.platform.feature"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Platform Plug-in Developer Resources"/>
<property name="df_LT.description" value="Common OS-independent API documentation and source code zips for the Eclipse Platform."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="58">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.ant.source" range="[1.9.6.v201510161327,1.9.6.v201510161327]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.core.source" range="[3.4.0.v20160301-1403,3.4.0.v20160301-1403]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.jcraft.jsch.source" range="[0.1.53.v201508180515,0.1.53.v201508180515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.core.source" range="[3.6.0.v20160404-1158,3.6.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.source" range="[3.6.0.v20160404-1158,3.6.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.win32.source" range="[1.1.0.v20160404-1158,1.1.0.v20160404-1158]">
<filter>
            (osgi.os=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers.source" range="[3.6.0.v20160308-1118,3.6.0.v20160308-1118]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.source" range="[1.6.0.v20160217-2331,1.6.0.v20160217-2331]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.source" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.source" range="[3.11.0.v20160325-1842,3.11.0.v20160325-1842]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util.source" range="[3.3.100.v20150423-1351,3.3.100.v20150423-1351]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.core.source" range="[3.10.100.v20160203-1134,3.10.100.v20160203-1134]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.ui.source" range="[3.11.200.v20160416-1825,3.11.200.v20160416-1825]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event.source" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring.source" range="[3.7.0.v20160120-1732,3.7.0.v20160120-1732]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring.source" range="[3.8.0.v20151129-1935,3.8.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search.source" range="[3.11.0.v20160204-1117,3.11.0.v20160204-1117]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.core.source" range="[3.8.0.v20160404-1158,3.8.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.ui.source" range="[3.8.0.v20160412-1748,3.8.0.v20160412-1748]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text.source" range="[3.6.0.v20160321-0553,3.6.0.v20160321-0553]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text.source" range="[3.11.0.v20160413-2201,3.11.0.v20160413-2201]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.core.source" range="[1.3.0.v20160323-1650,1.3.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.ui.source" range="[1.3.0.v20160323-1650,1.3.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.console.source" range="[3.6.100.v20160324-1431,3.6.100.v20160324-1431]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.source" range="[3.5.0.v20160416-0844,3.5.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.universal.source" range="[3.3.0.v20160416-0844,3.3.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cheatsheets.source" range="[3.4.200.v20160416-0844,3.4.200.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.browser.source" range="[3.4.400.v20160415-0154,3.4.400.v20160415-0154]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.monitoring.source" range="[1.1.0.v20160131-1628,1.1.0.v20160131-1628]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.source" range="[3.6.0.v20160329-2052,3.6.0.v20160329-2052]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.resources.source" range="[3.5.100.v20160406-0821,3.5.100.v20160406-0821]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.net.source" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor.source" range="[3.10.0.v20160411-1621,3.10.0.v20160411-1621]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.source" range="[3.8.0.v20160224-1855,3.8.0.v20160224-1855]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors.source" range="[3.10.0.v20160222-1603,3.10.0.v20160222-1603]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.externaltools.source" range="[3.3.0.v20160126-1316,3.3.0.v20160126-1316]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.source" range="[3.12.0.v20160416-1108,3.12.0.v20160416-1108]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.application.source" range="[1.1.100.v20160411-2246,1.1.100.v20160411-2246]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.win32.source" range="[3.2.500.v20160108-1409,3.2.500.v20160108-1409]">
<filter>
            (osgi.ws=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.variables.source" range="[3.3.0.v20160201-1034,3.3.0.v20160201-1034]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.forms.source" range="[3.7.0.v20160310-0900,3.7.0.v20160310-0900]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.properties.tabbed.source" range="[3.7.0.v20160310-0903,3.7.0.v20160310-0903]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.source" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui.source" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64.source" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx.source" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.externaltools.source" range="[1.0.300.v20140219-0051,1.0.300.v20140219-0051]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.themes.source" range="[1.1.100.v20160411-1921,1.1.100.v20160411-1921]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.source" range="[3.12.0.v20160329-1217,3.12.0.v20160329-1217]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.quicklinks.source" range="[1.0.0.v20160316-0209,1.0.0.v20160316-0209]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.source.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source.feature.group" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.doc.isv" range="[4.7.0.v20160316-1653,4.7.0.v20160316-1653]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.core.commands" version="0.11.0.v20160408-1229">
<update id="org.eclipse.e4.core.commands" range="[0.0.0,0.11.0.v20160408-1229)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 core commands"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.commands"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands" version="0.11.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.commands" version="0.11.0.v20160408-1229"/>
<provided namespace="java.package" name="org.eclipse.e4.core.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.commands.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.core.commands" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.commands.common" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.services.log" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.commands" version="0.11.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.commands;singleton:=true
Bundle-Version: 0.11.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.metadata.repository" version="1.2.300.v20160102-2223">
<update id="org.eclipse.equinox.p2.metadata.repository" range="[0.0.0,1.2.300.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Metadata Repository"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.metadata.repository"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository" version="1.2.300.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" version="1.2.300.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository.io" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.metadata.io" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="26">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.tukaani.xz" range="1.3.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.index" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.index" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.1.1"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.metadata.repository" version="1.2.300.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository;singleton:=true
Bundle-Version: 1.2.300.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.serverside.sdk.feature.group" version="3.12.0.v20160413-1503" singleton="false">
<update id="org.eclipse.equinox.serverside.sdk.feature.group" range="[0.0.0,3.12.0.v20160413-1503)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.serverside.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Server-side SDK"/>
<property name="df_LT.description" value="All of the bundles that make up the Equinox server-side OSGi support including basic, Jetty and servlet-bridge based HTTP service implementations.&#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.serverside.sdk.feature.group" version="3.12.0.v20160413-1503"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="40">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.core.feature.group" range="[1.4.0.v20160407-2059,1.4.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.jetty.feature.group" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.p2.feature.group" range="[1.2.300.v20160120-1756,1.2.300.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet" range="[3.1.0.v201410161800,3.1.0.v201410161800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp" range="[2.2.0.v201112011158,2.2.0.v201112011158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp.source" range="[2.2.0.v201112011158,2.2.0.v201112011158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.source" range="[3.1.0.v201410161800,3.1.0.v201410161800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.el" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.el.source" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty" range="[3.3.0.v20160324-1850,3.3.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty.source" range="[3.3.0.v20160324-1850,3.3.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry" range="[1.1.400.v20150715-1528,1.1.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry.source" range="[1.1.400.v20150715-1528,1.1.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet.source" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servletbridge" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servletbridge.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper" range="[1.0.500.v20150119-1358,1.0.500.v20150119-1358]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.source" range="[1.0.500.v20150119-1358,1.0.500.v20150119-1358]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish" range="[2.2.2.v201501141630,2.2.2.v201501141630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish.source" range="[2.2.2.v201501141630,2.2.2.v201501141630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.servletbridge" range="[1.3.200.v20160128-1435,1.3.200.v20160128-1435]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.servletbridge.source" range="[1.3.200.v20160128-1435,1.3.200.v20160128-1435]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.serverside.sdk.feature.jar" range="[3.12.0.v20160413-1503,3.12.0.v20160413-1503]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.sdk.configuration.macosx" version="1.0.0" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.configuration.macosx" version="1.0.0"/>
</provides>
<filter>
        (osgi.os=macosx)
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:@user.home/Documents/workspace);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:osgi.instance.area.default,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.user.ui.feature.jar" version="2.2.200.v20160317-1257">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, Provisioning for IDEs."/>
<property name="df_LT.description" value="Eclipse p2 Provisioning Platform for use in IDE related scenarios"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.user.ui"/>
<property name="maven-version" value="2.2.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.jar" version="2.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.user.ui" version="2.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.user.ui" version="2.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.debug.source" version="3.10.0.v20160414-0906" singleton="false">
<update id="org.eclipse.jdt.debug.source" range="[0.0.0,3.10.0.v20160414-0906)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JDI Debug Model Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.debug"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.source" version="3.10.0.v20160414-0906"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.debug.source" version="3.10.0.v20160414-0906"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.debug.source" version="3.10.0.v20160414-0906"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.debug.source
Bundle-Version: 3.10.0.v20160414-0906
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.expressions.tests" version="3.5.0.v20160319-0534">
<update id="org.eclipse.core.expressions.tests" range="[0.0.0,3.5.0.v20160319-0534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Expression Language Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.expressions.tests"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions.tests" version="3.5.0.v20160319-0534"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.expressions.tests" version="3.5.0.v20160319-0534"/>
<provided namespace="java.package" name="org.eclipse.core.internal.expressions.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.expressions.tests" version="3.5.0.v20160319-0534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.expressions.tests; singleton:=true
Bundle-Version: 3.5.0.v20160319-0534
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.releng.tools.feature.jar" version="3.9.0.v20160416-2220">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2010 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Releng Tools"/>
<property name="df_LT.description" value="Eclipse Releng Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.releng.feature"/>
<property name="maven-artifactId" value="org.eclipse.releng.tools"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools.feature.jar" version="3.9.0.v20160416-2220"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.releng.tools" version="3.9.0.v20160416-2220"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.releng.tools" version="3.9.0.v20160416-2220"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.core.source" version="3.4.0.v20160301-1403" singleton="false">
<update id="org.eclipse.ant.core.source" range="[0.0.0,3.4.0.v20160301-1403)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Ant Build Tool Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.core"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.core.source" version="3.4.0.v20160301-1403"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.core.source" version="3.4.0.v20160301-1403"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.core.source" version="3.4.0.v20160301-1403"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.core.source
Bundle-Version: 3.4.0.v20160301-1403
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.annotation.source" version="1.2.0.v201602091430" singleton="false">
<update id="javax.annotation.source" range="[0.0.0,1.2.0.v201602091430)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="javax.annotation Source Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.annotation.source" version="1.2.0.v201602091430"/>
<provided namespace="osgi.bundle" name="javax.annotation.source" version="1.2.0.v201602091430"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.annotation.source" version="1.2.0.v201602091430"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.annotation.source
Bundle-Version: 1.2.0.v201602091430
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.ui" version="3.4.100.v20160128-1641">
<update id="org.eclipse.jdt.apt.ui" range="[0.0.0,3.4.100.v20160128-1641)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Annotation Processing UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.ui"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.ui" version="3.4.100.v20160128-1641"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.ui" version="3.4.100.v20160128-1641"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.ui.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.ui.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.ui.internal.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.jdt.apt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.ui" version="3.4.100.v20160128-1641"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.ui; singleton:=true
Bundle-Version: 3.4.100.v20160128-1641
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ui.examples.fieldassist" version="1.1.100.v20160330-1439">
<update id="org.eclipse.ui.examples.fieldassist" range="[0.0.0,1.1.100.v20160330-1439)" severity="0"/>
<properties size="6">
<property name="df_LT.Plugin.name" value="Field Assist Example"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.fieldassist"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.fieldassist" version="1.1.100.v20160330-1439"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.fieldassist" version="1.1.100.v20160330-1439"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.fieldassist" version="1.1.100.v20160330-1439"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.fieldassist; singleton:=true
Bundle-Version: 1.1.100.v20160330-1439
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.jre11" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.jre11" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="JRE-1.1 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentjre11"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.jre11"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.jre11" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.jre11" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.jre11" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.jre11
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.ui.sdk" version="1.0.400.v20150423-1455">
<update id="org.eclipse.equinox.p2.ui.sdk" range="[0.0.0,1.0.400.v20150423-1455)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Equinox Provisioning Platform Update Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.sdk"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk" version="1.0.400.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk" version="1.0.400.v20150423-1455"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.sdk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.sdk.prefs" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="18">
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.6.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.compare" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.compare.structuremergeviewer" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.sdk" version="1.0.400.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk;singleton:=true
Bundle-Version: 1.0.400.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.externaltools.source" version="3.3.0.v20160126-1316" singleton="false">
<update id="org.eclipse.ui.externaltools.source" range="[0.0.0,3.3.0.v20160126-1316)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="External Tools Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.externaltools"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.externaltools.source" version="3.3.0.v20160126-1316"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.externaltools.source" version="3.3.0.v20160126-1316"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.externaltools.source" version="3.3.0.v20160126-1316"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.externaltools.source
Bundle-Version: 3.3.0.v20160126-1316
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.hpux.ia64" version="1.1.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.hpux.ia64" range="[0.0.0,1.1.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for HP-UX"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.hpux.ia64"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.hpux.ia64" version="1.1.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.hpux.ia64" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.hpux.ia64" version="1.1.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.hpux.ia64; singleton:=true
Bundle-Version: 1.1.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.beans" version="1.3.0.v20160226-1513" singleton="false">
<update id="org.eclipse.core.databinding.beans" range="[0.0.0,1.3.0.v20160226-1513)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding for JavaBeans"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.beans"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.beans" version="1.3.0.v20160226-1513"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.beans" version="1.3.0.v20160226-1513"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.beans" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.beans" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="[1.3.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.beans" version="1.3.0.v20160226-1513"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.beans
Bundle-Version: 1.3.0.v20160226-1513
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.jface.tests.databinding.conformance" version="1.2.0.v20150813-1848" singleton="false">
<update id="org.eclipse.jface.tests.databinding.conformance" range="[0.0.0,1.2.0.v20150813-1848)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding Conformance Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.tests.databinding.conformance"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.tests.databinding.conformance" version="1.2.0.v20150813-1848"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.tests.databinding.conformance" version="1.2.0.v20150813-1848"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.conformance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.conformance.delegate" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.conformance.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.databinding.conformance.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.tests.databinding.conformance" version="1.2.0.v20150813-1848"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.tests.databinding.conformance
Bundle-Version: 1.2.0.v20150813-1848
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.css.swt.source" version="0.12.0.v20160412-1804" singleton="false">
<update id="org.eclipse.e4.ui.css.swt.source" range="[0.0.0,0.12.0.v20160412-1804)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse CSS SWT Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.swt"/>
<property name="maven-version" value="0.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.source" version="0.12.0.v20160412-1804"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.source" version="0.12.0.v20160412-1804"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.swt.source" version="0.12.0.v20160412-1804"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.swt.source
Bundle-Version: 0.12.0.v20160412-1804
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux X86_64 Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.x86_64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.x86_64" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.x86_64;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.services" version="1.2.0.v20160408-1229">
<update id="org.eclipse.e4.ui.services" range="[0.0.0,1.2.0.v20160408-1229)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse UI Application Services"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.services"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.services" version="1.2.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.services" version="1.2.0.v20160408-1229"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.services" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.services.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.services.help" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.services.internal.events" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.services" version="1.2.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.services;singleton:=true
Bundle-Version: 1.2.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.text.source" version="3.11.0.v20160413-2201" singleton="false">
<update id="org.eclipse.jface.text.source" range="[0.0.0,3.11.0.v20160413-2201)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Text Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.text"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text.source" version="3.11.0.v20160413-2201"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.text.source" version="3.11.0.v20160413-2201"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.text.source" version="3.11.0.v20160413-2201"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.text.source
Bundle-Version: 3.11.0.v20160413-2201
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.discovery.source" version="1.0.100.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.ui.discovery.source" range="[0.0.0,1.0.100.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Discovery UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.discovery"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.discovery.source" version="1.0.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.discovery.source" version="1.0.100.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.discovery.source" version="1.0.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.discovery.source
Bundle-Version: 1.0.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.themes" version="1.1.100.v20160411-1921">
<update id="org.eclipse.ui.themes" range="[0.0.0,1.1.100.v20160411-1921)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Eclipse SDK Themes"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.themes"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.themes" version="1.1.100.v20160411-1921"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.themes" version="1.1.100.v20160411-1921"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.themes" version="1.1.100.v20160411-1921"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.themes;singleton:=true
Bundle-Version: 1.1.100.v20160411-1921
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.releng.tools" version="3.9.0.v20160416-2220">
<update id="org.eclipse.releng.tools" range="[0.0.0,3.9.0.v20160416-2220)" severity="0"/>
<properties size="8">
<property name="df_LT.PluginName" value="RelEng Plug-in"/>
<property name="df_LT.PluginProvider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%PluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%PluginProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.releng"/>
<property name="maven-artifactId" value="org.eclipse.releng.tools"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools" version="3.9.0.v20160416-2220"/>
<provided namespace="osgi.bundle" name="org.eclipse.releng.tools" version="3.9.0.v20160416-2220"/>
<provided namespace="java.package" name="org.eclipse.releng.tools" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.releng.tools.git" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.releng.tools.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.releng.internal.tools.pomversion" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="18">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jgit" range="4.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.egit.core" range="4.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.releng.tools" version="3.9.0.v20160416-2220"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.releng.tools; singleton:=true
Bundle-Version: 3.9.0.v20160416-2220
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test.feature.jar" version="3.7.100.v20160315-2119">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Test Framework"/>
<property name="df_LT.description" value="Eclipse Test Framework. Used in conjunction with Eclipse JUnit tests."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.test.feature"/>
<property name="maven-artifactId" value="org.eclipse.test"/>
<property name="maven-version" value="3.7.100-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.feature.jar" version="3.7.100.v20160315-2119"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.test" version="3.7.100.v20160315-2119"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.test" version="3.7.100.v20160315-2119"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.util" version="1.0.500.v20130404-1337" singleton="false">
<update id="org.eclipse.equinox.util" range="[0.0.0,1.0.500.v20130404-1337)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Util Bundle"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="The Equinox Util Bundle contains services to facilitate bundle developers in their programming, and to lighten resource usage at runtime."/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.util"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.util" version="1.0.500.v20130404-1337"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.util" version="1.0.500.v20130404-1337"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.event" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.hash" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.impl.tpt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.impl.tpt.threadpool" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.impl.tpt.timer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.pool" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.ref" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.security" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.threadpool" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.timer" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.util" version="1.0.500.v20130404-1337"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.util
Bundle-Version: 1.0.500.v20130404-1337
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.common.feature.group" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.common.feature.group" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="8">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.featureName" value="EMF Common"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Common platform-independent utilities used throughout EMF, including collection classes, notifiers, adapters, and commands."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.feature.group" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.feature.jar" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="org.eclipse.swt.gtk.linux.x86_64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.x86_64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.x86_64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.x86_64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ui.workbench.texteditor" version="3.10.0.v20160411-1621">
<update id="org.eclipse.ui.workbench.texteditor" range="[0.0.0,3.10.0.v20160411-1621)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Text Editor Framework"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.workbench.texteditor"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="16">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor" version="3.10.0.v20160411-1621"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" version="3.10.0.v20160411-1621"/>
<provided namespace="java.package" name="org.eclipse.ui.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor.quickdiff" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor.quickdiff.compare.equivalence" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor.rulers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.texteditor.spelling" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor.link" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor.quickdiff" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor.rulers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor.spelling" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.texteditor.templates" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.workbench.texteditor" version="3.10.0.v20160411-1621"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.workbench.texteditor; singleton:=true
Bundle-Version: 3.10.0.v20160411-1621
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.win32.win32.x86" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.win32.win32.x86" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.win32.win32.x86" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse.exe, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.hpux.ia64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.hpux.ia64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.hpux.ia64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.source.feature.jar" version="3.12.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse JDT Plug-in Developer Resources"/>
<property name="df_LT.description" value="API documentation and source code zips for Eclipse Java development tools."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.jdt.feature"/>
<property name="maven-artifactId" value="org.eclipse.jdt"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.source.feature.jar" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.jdt.source" version="3.12.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.jdt.source" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="1.0.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="1.0.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.win32.x86.source" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.security.win32.x86.source" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Windows Data Protection services integration Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.win32.x86"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86.source" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.win32.x86.source" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.win32.x86.source" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.win32.x86.source
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.s390" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.s390" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.s390" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.engine" version="2.4.100.v20160102-2223">
<update id="org.eclipse.equinox.p2.engine" range="[0.0.0,2.4.100.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Engine"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.engine"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine" version="2.4.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" version="2.4.100.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.engine.phases" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.engine" version="2.2.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.engine.query" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.engine.spi" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="34">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.internal.preferences" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.preferences" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.index" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository.io" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.index" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.security" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.signedcontent" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.engine" version="2.4.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
Bundle-Version: 2.4.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.io.source" version="1.1.100.v20150430-1834" singleton="false">
<update id="org.eclipse.equinox.io.source" range="[0.0.0,1.1.100.v20150430-1834)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="IO Connector Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.io"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.io.source" version="1.1.100.v20150430-1834"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.io.source" version="1.1.100.v20150430-1834"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.io.source" version="1.1.100.v20150430-1834"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.io.source
Bundle-Version: 1.1.100.v20150430-1834
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.compatibility.plugins.feature.feature.jar" version="1.0.0.v20150202-1328">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="Eclipse 2.0 Style Plugin Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.description" value="Eclipse 2.0 Style Plugin Support for running old Eclipse plugins that are not proper OSGi bundles."/>
<property name="df_LT.copyright" value="Copyright (c) 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.osgi.compatibility.plugins.feature"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins.feature.feature.jar" version="1.0.0.v20150202-1328"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.osgi.compatibility.plugins.feature" version="1.0.0.v20150202-1328"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.osgi.compatibility.plugins.feature" version="1.0.0.v20150202-1328"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.tukaani.xz" version="1.3.0.v201308270617" singleton="false">
<update id="org.tukaani.xz" range="[0.0.0,1.3.0.v201308270617)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="XZ data compression"/>
<property name="df_LT.pluginDescription" value="org.tukaani.xz is an implementation of XZ data compression in pure Java"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="%pluginDescription"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://tukaani.org/xz/java.html"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.tukaani.xz" version="1.3.0.v201308270617"/>
<provided namespace="osgi.bundle" name="org.tukaani.xz" version="1.3.0.v201308270617"/>
<provided namespace="java.package" name="org.tukaani.xz" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.check" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.common" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.delta" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.index" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.lz" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.lzma" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.rangecoder" version="1.3.0"/>
<provided namespace="java.package" name="org.tukaani.xz.simple" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.tukaani.xz" version="1.3.0.v201308270617"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.tukaani.xz
Bundle-Version: 1.3.0.v201308270617
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.ppc" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux PPC Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.ppc"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.ppc"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.ppc;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.jcraft.jsch" version="0.1.53.v201508180515" singleton="false">
<update id="com.jcraft.jsch" range="[0.0.0,0.1.53.v201508180515)" severity="0"/>
<properties size="5">
<property name="df_LT.venderName" value="Eclipse Orbit"/>
<property name="df_LT.bundleName" value="JSch"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%venderName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.jcraft.jsch" version="0.1.53.v201508180515"/>
<provided namespace="osgi.bundle" name="com.jcraft.jsch" version="0.1.53.v201508180515"/>
<provided namespace="java.package" name="com.jcraft.jsch" version="0.1.53"/>
<provided namespace="java.package" name="com.jcraft.jsch.jce" version="0.1.53"/>
<provided namespace="java.package" name="com.jcraft.jsch.jcraft" version="0.1.53"/>
<provided namespace="java.package" name="com.jcraft.jsch.jgss" version="0.1.53"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="java.package" name="com.jcraft.jzlib" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.interfaces" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="org.ietf.jgss" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.jcraft.jsch" version="0.1.53.v201508180515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.jcraft.jsch
Bundle-Version: 0.1.53.v201508180515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.sdk.scheduler.source" version="1.2.100.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.ui.sdk.scheduler.source" range="[0.0.0,1.2.100.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Platform Automatic Update Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.sdk.scheduler"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler.source" version="1.2.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk.scheduler.source" version="1.2.100.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.sdk.scheduler.source" version="1.2.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk.scheduler.source
Bundle-Version: 1.2.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.concurrent.source" version="1.1.0.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.concurrent.source" range="[0.0.0,1.1.0.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Concurrent API Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.concurrent"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.concurrent.source" version="1.1.0.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.concurrent.source" version="1.1.0.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.concurrent.source" version="1.1.0.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.concurrent.source
Bundle-Version: 1.1.0.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.useradmin.source" version="1.1.400.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.useradmin.source" range="[0.0.0,1.1.400.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="User Admin Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.useradmin"/>
<property name="maven-version" value="1.1.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.useradmin.source" version="1.1.400.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.useradmin.source" version="1.1.400.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.useradmin.source" version="1.1.400.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.useradmin.source
Bundle-Version: 1.1.400.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.100.v20160312-0656">
<update id="org.eclipse.ecf.provider.filetransfer.httpclient4" range="[0.0.0,1.1.100.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF HttpComponents Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.100.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.100.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.provider.filetransfer.httpclient4" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="32">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer" range="0.0.0"/>
<required namespace="java.package" name="org.apache.http" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.auth" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.client" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.client.methods" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.client.protocol" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.conn" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.conn.params" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.conn.scheme" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.conn.ssl" range="4.3.6"/>
<required namespace="java.package" name="org.apache.http.conn.util" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.entity" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl.client" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl.conn" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl.cookie" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl.entity" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.impl.io" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.io" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.message" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.params" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.protocol" range="4.1.0"/>
<required namespace="java.package" name="org.apache.http.util" range="4.1.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.url" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.httpclient4" version="1.1.100.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.httpclient4;singleton:=true
Bundle-Version: 1.1.100.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.events.source" version="3.0.0.draft20060413_v201105210656" singleton="false">
<update id="org.w3c.dom.events.source" range="[0.0.0,3.0.0.draft20060413_v201105210656)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="W3C DOM Level 3 Events Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.events.source" version="3.0.0.draft20060413_v201105210656"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.events.source" version="3.0.0.draft20060413_v201105210656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.events.source" version="3.0.0.draft20060413_v201105210656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.events.source
Bundle-Version: 3.0.0.draft20060413_v201105210656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.configuration" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.configuration" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="126">
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.jdt.apt.tests" version="3.4.0.v20160405-1556">
<update id="org.eclipse.jdt.apt.tests" range="[0.0.0,3.4.0.v20160405-1556)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Annotation Processing Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.tests"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.tests" version="3.4.0.v20160405-1556"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.tests" version="3.4.0.v20160405-1556"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.apitest" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.aptrounding" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.exceptionhandling" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.extradependency" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.filegen" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.generic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.helloworld" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.listener" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.messager" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.mirrortest" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.nestedhelloworld" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.noop" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.pause" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.readAnnotationType" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.readannotation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.annotations.valueconversion" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.external.annotations.batch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.external.annotations.classloader" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.external.annotations.loadertest" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.jdtcoretests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.tests.plugin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.apt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.model" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.binaries" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.tests" version="3.4.0.v20160405-1556"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.tests; singleton:=true
Bundle-Version: 3.4.0.v20160405-1556
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.rcp.feature.feature.jar" version="1.2.200.v20160317-1257">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2011, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Equinox p2, minimal support for RCP applications"/>
<property name="df_LT.description" value="Provides the minimal set of p2 bundles to use in RCP applications."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.rcp.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.feature.jar" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.rcp.feature" version="1.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.rcp.feature" version="1.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.core.contenttype.source" version="3.5.100.v20160319-0604" singleton="false">
<update id="org.eclipse.core.contenttype.source" range="[0.0.0,3.5.100.v20160319-0604)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Content Mechanism Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.contenttype"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.contenttype.source" version="3.5.100.v20160319-0604"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.contenttype.source" version="3.5.100.v20160319-0604"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.contenttype.source" version="3.5.100.v20160319-0604"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.contenttype.source
Bundle-Version: 3.5.100.v20160319-0604
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.css.swt.theme" version="0.10.0.v20160401-0625">
<update id="org.eclipse.e4.ui.css.swt.theme" range="[0.0.0,0.10.0.v20160401-0625)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse CSS SWT Theme Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.swt.theme"/>
<property name="maven-version" value="0.10.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.theme" version="0.10.0.v20160401-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" version="0.10.0.v20160401-0625"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.theme" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.8.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.3.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.swt.theme" version="0.10.0.v20160401-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.swt.theme;singleton:=true
Bundle-Version: 0.10.0.v20160401-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.application" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.application" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="57">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86.eclipse" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.ecf.core.source.feature.feature.group" version="1.3.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.core.source.feature.feature.group" range="[0.0.0,1.3.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Core Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF core (org.eclipse.ecf) and ECF identity (org.eclipse.ecf.identity) bundles.  These two bundles are required for all other parts of ECF."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.source.feature.feature.group" version="1.3.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.ssl.source" range="[1.2.0.v20160312-0656,1.2.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity.source" range="[3.7.0.v20160312-0656,3.7.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.source" range="[3.8.0.v20160312-0656,3.8.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.source.feature.feature.jar" range="[1.3.0.v20160312-0656,1.3.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer" version="3.2.200.v20160312-0656">
<update id="org.eclipse.ecf.provider.filetransfer" range="[0.0.0,3.2.200.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer" version="3.2.200.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer" version="3.2.200.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.provider.filetransfer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer" version="3.2.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.browse" version="3.2.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.events.socket" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.identity" version="3.2.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.outgoing" version="3.2.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.retrieve" version="3.2.0"/>
<provided namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.util" version="3.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ecf.filetransfer" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.net.proxy" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.ecf.provider.filetransfer.events.socket" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.url" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer" version="3.2.200.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer;singleton:=true
Bundle-Version: 3.2.200.v20160312-0656
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.services" version="4.5.0.v20160211-2017" singleton="false">
<update id="org.eclipse.e4.tools.services" range="[0.0.0,4.5.0.v20160211-2017)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Services"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.services"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.services" version="4.5.0.v20160211-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.services" version="4.5.0.v20160211-2017"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.services" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.services.impl" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="3.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.services" version="4.5.0.v20160211-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.services
Bundle-Version: 4.5.0.v20160211-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.core.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Core SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF core SSL fragment.  On Equinox-based frameworks, this fragment exposes the Equinox TrustManager to ECF FileTransfer and other ECF-based communications."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.source.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.core.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.core.ssl.source.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.pde.ua.ui" version="1.1.0.v20160323-1149">
<update id="org.eclipse.pde.ua.ui" range="[0.0.0,1.1.0.v20160323-1149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE UA UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ua.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.ui" version="1.1.0.v20160323-1149"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ua.ui" version="1.1.0.v20160323-1149"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.comp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.comp.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.comp.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.simple" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.simple.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.cheatsheet.simple.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.ctxhelp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.ctxhelp.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.toc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.toc.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.editor.toc.details" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.wizards.cheatsheet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.wizards.ctxhelp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.ui.wizards.toc" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="15">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ua.core" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ua.ui" version="1.1.0.v20160323-1149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ua.ui;singleton:=true
Bundle-Version: 1.1.0.v20160323-1149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.common" version="3.8.0.v20160324-1850">
<update id="org.eclipse.equinox.common" range="[0.0.0,3.8.0.v20160324-1850)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Common Eclipse Runtime"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.common"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.common" version="3.8.0.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.common" version="3.8.0.v20160324-1850"/>
<provided namespace="java.package" name="org.eclipse.core.internal.boot" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime" version="3.5.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.events" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="java.package" name="org.eclipse.equinox.log" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.urlconversion" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.url" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.common" version="3.8.0.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.common; singleton:=true
Bundle-Version: 3.8.0.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515" singleton="false">
<update id="org.eclipse.sdk.examples.source" range="[0.0.0,3.5.600.v20160417-1515)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse SDK Examples Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.sdk"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.sdk.examples.source" version="3.5.600.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.sdk.examples.source
Bundle-Version: 3.5.600.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.importexport" version="1.1.200.v20160102-2223">
<update id="org.eclipse.equinox.p2.ui.importexport" range="[0.0.0,1.1.200.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Import and Export"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.importexport"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport" version="1.1.200.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.importexport" version="1.1.200.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.importexport" version="1.3.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.importexport.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="25">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.extensionlocation" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="2.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="3.5.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.repository.io" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.dialogs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.model" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.ui.viewers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.operations" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" range="2.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.importexport" version="1.1.200.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.importexport;singleton:=true
Bundle-Version: 1.1.200.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test.source" version="3.3.200.v20151106-1314" singleton="false">
<update id="org.eclipse.test.source" range="[0.0.0,3.3.200.v20151106-1314)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Automated Testing Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.test"/>
<property name="maven-artifactId" value="org.eclipse.test"/>
<property name="maven-version" value="3.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.source" version="3.3.200.v20151106-1314"/>
<provided namespace="osgi.bundle" name="org.eclipse.test.source" version="3.3.200.v20151106-1314"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.test.source" version="3.3.200.v20151106-1314"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.test.source
Bundle-Version: 3.3.200.v20151106-1314
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.aix.ppc64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.aix.ppc64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.aix.ppc64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.aix.ppc64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.aix.ppc64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.aix.ppc64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.swt" version="0.14.0.v20160411-2100">
<update id="org.eclipse.e4.ui.workbench.swt" range="[0.0.0,0.14.0.v20160411-2100)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 Workbench SWT"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.swt"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.swt" version="0.14.0.v20160411-2100"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt" version="0.14.0.v20160411-2100"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.swt.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.swt.factories" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.swt.internal.copy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.swt.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="38">
<required namespace="osgi.extender" name="osgi.component" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.6.0,4.0.0)"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.7.0"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench3" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.10.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.app" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.widgets" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.1.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="4.2.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.swt" version="0.14.0.v20160411-2100"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.swt;singleton:=true
Bundle-Version: 0.14.0.v20160411-2100
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.tools.versioning" version="1.0.200.v20140518-1929">
<update id="org.eclipse.pde.tools.versioning" range="[0.0.0,1.0.200.v20140518-1929)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Versioning Tools Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.tools.versioning"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.tools.versioning" version="1.0.200.v20140518-1929"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.tools.versioning" version="1.0.200.v20140518-1929"/>
<provided namespace="java.package" name="org.eclipse.pde.tools.internal.versioning" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.tools.versioning" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.core.dom" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.core.util" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.update.configurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.update.core" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.update.core.model" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.tools.versioning" version="1.0.200.v20140518-1929"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.tools.versioning;singleton:=true
Bundle-Version: 1.0.200.v20140518-1929
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.linux.ppc" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.beans.source" version="1.3.0.v20160226-1513" singleton="false">
<update id="org.eclipse.core.databinding.beans.source" range="[0.0.0,1.3.0.v20160226-1513)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding for JavaBeans Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.beans"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.beans.source" version="1.3.0.v20160226-1513"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.beans.source" version="1.3.0.v20160226-1513"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.beans.source" version="1.3.0.v20160226-1513"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.beans.source
Bundle-Version: 1.3.0.v20160226-1513
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.forms" version="3.3.300.v20160107-1350">
<update id="org.eclipse.ui.tests.forms" range="[0.0.0,3.3.300.v20160107-1350)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Forms Test"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.forms"/>
<property name="maven-version" value="3.3.300-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.forms" version="3.3.300.v20160107-1350"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.forms" version="3.3.300.v20160107-1350"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.forms" version="3.3.300.v20160107-1350"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.forms;singleton:=true
Bundle-Version: 3.3.300.v20160107-1350
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.console.source" version="1.1.200.v20150929-1405" singleton="false">
<update id="org.eclipse.equinox.console.source" range="[0.0.0,1.1.200.v20150929-1405)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Console plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.console"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.source" version="1.1.200.v20150929-1405"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.console.source" version="1.1.200.v20150929-1405"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.console.source" version="1.1.200.v20150929-1405"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.console.source
Bundle-Version: 1.1.200.v20150929-1405
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.ide.application.source" version="1.1.100.v20160411-2246" singleton="false">
<update id="org.eclipse.ui.ide.application.source" range="[0.0.0,1.1.100.v20160411-2246)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse IDE UI Application Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.ide.application"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.application.source" version="1.1.100.v20160411-2246"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.ide.application.source" version="1.1.100.v20160411-2246"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.ide.application.source" version="1.1.100.v20160411-2246"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.ide.application.source
Bundle-Version: 1.1.100.v20160411-2246
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.rcp.id.configuration" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.configuration" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="84">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.solaris.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.solaris.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.servlet" version="3.1.0.v201410161800" singleton="false">
<update id="javax.servlet" range="[0.0.0,3.1.0.v201410161800)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Servlet API Bundle"/>
<property name="df_LT.bundleDescription" value="Java(TM) Servlet 3.1 API Design Specification"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="%bundleDescription"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.doc.url" value="https://glassfish.dev.java.net"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.servlet" version="3.1.0.v201410161800"/>
<provided namespace="osgi.bundle" name="javax.servlet" version="3.1.0.v201410161800"/>
<provided namespace="java.package" name="javax.servlet" version="3.1.0"/>
<provided namespace="java.package" name="javax.servlet.annotation" version="3.1.0"/>
<provided namespace="java.package" name="javax.servlet.descriptor" version="3.1.0"/>
<provided namespace="java.package" name="javax.servlet.http" version="3.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="java.package" name="javax.servlet" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.annotation" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.descriptor" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.http" range="3.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.servlet" version="3.1.0.v201410161800"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.servlet
Bundle-Version: 3.1.0.v201410161800
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.transforms.hook.source" version="1.1.0.v20131021-1933" singleton="false">
<update id="org.eclipse.equinox.transforms.hook.source" range="[0.0.0,1.1.0.v20131021-1933)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Transformer Hook Framework Extension Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.transforms.hook"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.transforms.hook.source" version="1.1.0.v20131021-1933"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.transforms.hook.source" version="1.1.0.v20131021-1933"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.transforms.hook.source" version="1.1.0.v20131021-1933"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.transforms.hook.source
Bundle-Version: 1.1.0.v20131021-1933
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ui.source" version="3.9.0.v20160415-1056" singleton="false">
<update id="org.eclipse.pde.ui.source" range="[0.0.0,3.9.0.v20160415-1056)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ui"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.source" version="3.9.0.v20160415-1056"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ui.source" version="3.9.0.v20160415-1056"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ui.source" version="3.9.0.v20160415-1056"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ui.source
Bundle-Version: 3.9.0.v20160415-1056
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.installer.source" version="1.0.500.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.installer.source" range="[0.0.0,1.0.500.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Installer Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.installer"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.installer.source" version="1.0.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.installer.source" version="1.0.500.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.installer.source" version="1.0.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.installer.source
Bundle-Version: 1.0.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core" version="3.12.0.v20160417-1322">
<update id="org.eclipse.jdt.core" range="[0.0.0,3.12.0.v20160417-1322)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="49">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core" version="3.12.0.v20160417-1322"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core" version="3.12.0.v20160417-1322"/>
<provided namespace="java.package" name="org.eclipse.jdt.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.compiler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.compiler.batch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.dom.rewrite" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.index" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.jdom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.codeassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.codeassist.complete" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.codeassist.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.codeassist.select" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.ast" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.batch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.classfmt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.codegen" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.env" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.flow" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.lookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.parser.diagnose" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.problem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.compiler.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.builder" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.dom.rewrite" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.hierarchy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.index" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.jdom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.search.indexing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.search.matching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.search.processing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.core.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.formatter.linewrap" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.formatter.old" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.1.0,4.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core" version="3.12.0.v20160417-1322"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core; singleton:=true
Bundle-Version: 3.12.0.v20160417-1322
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.sdk.feature.group" version="3.9.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.sdk.feature.group" range="[0.0.0,3.9.200.v20160317-1257)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.sdk"/>
<property name="maven-version" value="3.9.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009, 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, SDK"/>
<property name="df_LT.description" value="All of the bundles and source that comprise the Equinox p2 provisioning platform. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.sdk.feature.group" version="3.9.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="81">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.feature.feature.group" range="[1.0.400.v20160129-1529,1.0.400.v20160129-1529]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.source.feature.feature.group" range="[1.1.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.source.feature.feature.group" range="[3.8.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.source.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository" range="[1.1.500.v20160102-2223,1.1.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository.source" range="[1.1.500.v20160102-2223,1.1.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console.source" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.source" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director" range="[2.3.200.v20150907-2149,2.3.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app.source" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.source" range="[2.3.200.v20150907-2149,2.3.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher" range="[1.1.100.v20150423-1455,1.1.100.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher.source" range="[1.1.100.v20150423-1455,1.1.100.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine.source" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation" range="[1.2.300.v20160128-1810,1.2.300.v20160128-1810]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation.source" range="[1.2.300.v20160128-1810,1.2.300.v20160128-1810]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector" range="[1.0.200.v20150907-2149,1.0.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector.source" range="[1.0.200.v20150907-2149,1.0.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.installer" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.installer.source" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor.source" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata" range="[2.3.100.v20160102-2223,2.3.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository" range="[1.2.300.v20160102-2223,1.2.300.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository.source" range="[1.2.300.v20160102-2223,1.2.300.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.source" range="[2.3.100.v20160102-2223,2.3.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher" range="[1.4.0.v20150907-2149,1.4.0.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.source" range="[1.4.0.v20150907-2149,1.4.0.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins" range="[1.1.300.v20150907-2149,1.1.300.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins.source" range="[1.1.300.v20150907-2149,1.1.300.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository" range="[2.3.200.v20160102-2223,2.3.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.source" range="[2.3.200.v20160102-2223,2.3.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools" range="[2.1.300.v20151005-0151,2.1.300.v20151005-0151]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools.source" range="[2.1.300.v20151005-0151,2.1.300.v20151005-0151]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse" range="[2.1.400.v20160102-2223,2.1.400.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse.source" range="[2.1.400.v20160102-2223,2.1.400.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" range="[1.2.100.v20160104-2129,1.2.100.v20160104-2129]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives.source" range="[1.2.100.v20160104-2129,1.2.100.v20160104-2129]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.rcp" range="[1.0.200.v20150220-1741,1.0.200.v20150220-1741]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.rcp.source" range="[1.0.200.v20150220-1741,1.0.200.v20150220-1741]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin" range="[1.0.200.v20150430-1836,1.0.200.v20150430-1836]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.source" range="[1.0.200.v20150430-1836,1.0.200.v20150430-1836]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport" range="[1.1.200.v20160102-2223,1.1.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.importexport.source" range="[1.1.200.v20160102-2223,1.1.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk" range="[1.0.400.v20150423-1455,1.0.400.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler" range="[1.2.100.v20150907-2149,1.2.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler.source" range="[1.2.100.v20150907-2149,1.2.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.source" range="[1.0.400.v20150423-1455,1.0.400.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.source" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker" range="[1.1.200.v20131119-0908,1.1.200.v20131119-0908]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker.source" range="[1.1.200.v20131119-0908,1.1.200.v20131119-0908]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite" range="[1.0.500.v20150907-2149,1.0.500.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite.source" range="[1.0.500.v20150907-2149,1.0.500.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.100.v20150907-2149,2.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator.source" range="[2.0.100.v20150907-2149,2.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.source" range="[1.1.100.v20150907-2149,1.1.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin" range="[2.0.200.v20150423-1455,2.0.200.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox" range="[1.0.700.v20160102-2223,1.0.700.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox.source" range="[1.0.700.v20160102-2223,1.0.700.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.source" range="[2.0.200.v20150423-1455,2.0.200.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.core" range="[2.3.5.v201308161310,2.3.5.v201308161310]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.pb" range="[2.3.5.v201404071733,2.3.5.v201404071733]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations.source" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf" range="[1.1.100.v20150521-1342,1.1.100.v20150521-1342]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse" range="[1.2.0.v20151011-0147,1.2.0.v20151011-0147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse.source" range="[1.2.0.v20151011-0147,1.2.0.v20151011-0147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.source" range="[1.0.300.v20131210-1027,1.0.300.v20131210-1027]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.compatibility.source" range="[1.0.200.v20131211-1531,1.0.200.v20131211-1531]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.discovery.source" range="[1.0.100.v20150907-2149,1.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.sdk.feature.jar" range="[3.9.200.v20160317-1257,3.9.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.solaris.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.console.source" version="3.6.100.v20160324-1431" singleton="false">
<update id="org.eclipse.ui.console.source" range="[0.0.0,3.6.100.v20160324-1431)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Console Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.console"/>
<property name="maven-version" value="3.6.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.console.source" version="3.6.100.v20160324-1431"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.console.source" version="3.6.100.v20160324-1431"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.console.source" version="3.6.100.v20160324-1431"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.console.source
Bundle-Version: 3.6.100.v20160324-1431
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.ppc" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.ppc" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.el.source" version="2.2.0.v201303151357" singleton="false">
<update id="javax.el.source" range="[0.0.0,2.2.0.v201303151357)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="javax.el Source Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.el.source" version="2.2.0.v201303151357"/>
<provided namespace="osgi.bundle" name="javax.el.source" version="2.2.0.v201303151357"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.el.source" version="2.2.0.v201303151357"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.el.source
Bundle-Version: 2.2.0.v201303151357
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.core.feature.source.feature.jar" version="1.3.200.v20160317-1257">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 Core Function Source"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core.feature"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.jar" version="1.3.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.core.feature.source" version="1.3.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.core.feature.source" version="1.3.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64le.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.core.filesystem.linux.x86" version="1.4.200.v20140124-1940">
<update id="org.eclipse.core.filesystem.linux.x86" range="[0.0.0,1.4.200.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for Linux"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.linux.x86"/>
<property name="maven-version" value="1.4.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.x86" version="1.4.200.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.linux.x86" version="1.4.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.4.200.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.linux.x86" version="1.4.200.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.linux.x86; singleton:=true
Bundle-Version: 1.4.200.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.cocoa.source" version="1.1.100.v20151202-1450" singleton="false">
<update id="org.eclipse.ui.cocoa.source" range="[0.0.0,1.1.100.v20151202-1450)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI MacOS X Enhancements Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.cocoa"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cocoa.source" version="1.1.100.v20151202-1450"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.cocoa.source" version="1.1.100.v20151202-1450"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.cocoa.source" version="1.1.100.v20151202-1450"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.cocoa.source
Bundle-Version: 1.1.100.v20151202-1450
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.tests.builder" version="3.10.4.v20160414-0800">
<update id="org.eclipse.jdt.core.tests.builder" range="[0.0.0,3.10.4.v20160414-0800)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Builder Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.tests.builder"/>
<property name="maven-version" value="3.10.4-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.builder" version="3.10.4.v20160414-0800"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" version="3.10.4.v20160414-0800"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.builder" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.junit" range="3.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.tests.builder" version="3.10.4.v20160414-0800"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.tests.builder; singleton:=true
Bundle-Version: 3.10.4.v20160414-0800
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.base.source" version="4.1.0.v20160417-1515" singleton="false">
<update id="org.eclipse.help.base.source" range="[0.0.0,4.1.0.v20160417-1515)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Help System Base Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.base"/>
<property name="maven-version" value="4.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.base.source" version="4.1.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.base.source" version="4.1.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.base.source" version="4.1.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.base.source
Bundle-Version: 4.1.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.win32.win32.x86" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.win32.win32.x86" range="1.1.300.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.tools.emf.ui" version="4.5.0.v20160414-1751">
<update id="org.eclipse.e4.tools.emf.ui" range="[0.0.0,4.5.0.v20160414-1751)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="EMF ModelTooling UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.emf.ui"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="22">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.ui" version="4.5.0.v20160414-1751"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.emf.ui" version="4.5.0.v20160414-1751"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.common" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.common.component" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.component" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.component.tabs" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.component.tabs.empty" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.component.virtual" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.objectdata" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.properties" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.resourcelocator" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.resourcelocator.dialogs" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.uistructure" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.common.xml" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.handlers" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.imp" version="0.12.0.qualifier"/>
<provided namespace="java.package" name="org.eclipse.e4.tools.emf.ui.internal.wbm" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="34">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding.property" range="1.2.100"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.databinding" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="1.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.edit" range="2.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.databinding.edit" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.tools.services" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="3.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.widgets" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.dialogs" range="1.0.0"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.3.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.emf.ui" version="4.5.0.v20160414-1751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.emf.ui;singleton:=true
Bundle-Version: 4.5.0.v20160414-1751
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.junit.core" version="3.8.0.v20160120-1732">
<update id="org.eclipse.jdt.junit.core" range="[0.0.0,3.8.0.v20160120-1732)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools JUnit core support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit.core"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.core" version="3.8.0.v20160120-1732"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit.core" version="3.8.0.v20160120-1732"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.buildpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit.model" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.8.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.12.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit.core" version="3.8.0.v20160120-1732"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit.core;singleton:=true
Bundle-Version: 3.8.0.v20160120-1732
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.supplement.source" version="1.6.0.v20160309-1913" singleton="false">
<update id="org.eclipse.equinox.supplement.source" range="[0.0.0,1.6.0.v20160309-1913)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Supplemental Equinox Functionality Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.supplement"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.supplement.source" version="1.6.0.v20160309-1913"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.supplement.source" version="1.6.0.v20160309-1913"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.supplement.source" version="1.6.0.v20160309-1913"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.supplement.source
Bundle-Version: 1.6.0.v20160309-1913
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.frameworkadmin.source" version="2.0.200.v20150423-1455" singleton="false">
<update id="org.eclipse.equinox.frameworkadmin.source" range="[0.0.0,2.0.200.v20150423-1455)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Framework Admin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.frameworkadmin"/>
<property name="maven-version" value="2.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.source" version="2.0.200.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin.source" version="2.0.200.v20150423-1455"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.frameworkadmin.source" version="2.0.200.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.source
Bundle-Version: 2.0.200.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.felix.gogo.command.source" version="0.10.0.v201209301215" singleton="false">
<update id="org.apache.felix.gogo.command.source" range="[0.0.0,0.10.0.v201209301215)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Felix Gogo Command Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command.source" version="0.10.0.v201209301215"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.command.source" version="0.10.0.v201209301215"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.command.source" version="0.10.0.v201209301215"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.command.source
Bundle-Version: 0.10.0.v201209301215
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.bidi.source" version="1.0.0.v20160307-1318" singleton="false">
<update id="org.eclipse.equinox.bidi.source" range="[0.0.0,1.0.0.v20160307-1318)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Bidirectional Text Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.bidi"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi.source" version="1.0.0.v20160307-1318"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.bidi.source" version="1.0.0.v20160307-1318"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.bidi.source" version="1.0.0.v20160307-1318"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.bidi.source
Bundle-Version: 1.0.0.v20160307-1318
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.views.properties.tabbed.article.source" version="3.2.1.v20160330-1438" singleton="false">
<update id="org.eclipse.ui.examples.views.properties.tabbed.article.source" range="[0.0.0,3.2.1.v20160330-1438)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Tabbed Properties View Article Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.views.properties.tabbed.article"/>
<property name="maven-version" value="3.2.1-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.views.properties.tabbed.article.source" version="3.2.1.v20160330-1438"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.views.properties.tabbed.article.source" version="3.2.1.v20160330-1438"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.views.properties.tabbed.article.source" version="3.2.1.v20160330-1438"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.views.properties.tabbed.article.source
Bundle-Version: 3.2.1.v20160330-1438
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.contenttype" version="3.5.100.v20160319-0604">
<update id="org.eclipse.core.contenttype" range="[0.0.0,3.5.100.v20160319-0604)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Content Mechanism"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.contenttype"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.contenttype" version="3.5.100.v20160319-0604"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.contenttype" version="3.5.100.v20160319-0604"/>
<provided namespace="java.package" name="org.eclipse.core.internal.content" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.content" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.ext" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.contenttype" version="3.5.100.v20160319-0604"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.contenttype; singleton:=true
Bundle-Version: 3.5.100.v20160319-0604
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.cdcfoundation11" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.cdcfoundation11" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="CDC-1.1/Foundation-1.1 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentcdcfoundation11"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.cdcfoundation11"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.cdcfoundation11" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.cdcfoundation11" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.cdcfoundation11" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.cdcfoundation11
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.ole.win32.source" version="3.105.0.v20150928-1000" singleton="false">
<update id="org.eclipse.swt.examples.ole.win32.source" range="[0.0.0,3.105.0.v20150928-1000)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="SWT OLE Example Plugin (Win32) Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.ole.win32"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.ole.win32.source" version="3.105.0.v20150928-1000"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.ole.win32.source" version="3.105.0.v20150928-1000"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.ole.win32.source" version="3.105.0.v20150928-1000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.ole.win32.source
Bundle-Version: 3.105.0.v20150928-1000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingcocoa.macosx.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.lucene.analysis" version="3.5.0.v20120725-1805" singleton="false">
<update id="org.apache.lucene.analysis" range="[0.0.0,3.5.0.v20120725-1805)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Lucene Analysis"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="54">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.analysis" version="3.5.0.v20120725-1805"/>
<provided namespace="osgi.bundle" name="org.apache.lucene.analysis" version="3.5.0.v20120725-1805"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.ar" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.bg" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.br" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.ca" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.cjk" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.cn" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.compound" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.compound.hyphenation" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.cz" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.da" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.de" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.el" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.en" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.es" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.eu" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.fa" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.fi" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.fr" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.gl" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.hi" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.hu" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.hunspell" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.hy" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.id" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.in" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.it" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.lv" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.miscellaneous" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.ngram" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.nl" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.no" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.path" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.payloads" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.position" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.pt" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.query" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.reverse" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.ro" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.ru" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.shingle" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.sinks" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.snowball" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.sv" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.synonym" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.th" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.tr" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.util" version="3.5.0"/>
<provided namespace="java.package" name="org.apache.lucene.analysis.wikipedia" version="3.5.0"/>
<provided namespace="java.package" name="org.tartarus.snowball" version="0.0.0"/>
<provided namespace="java.package" name="org.tartarus.snowball.ext" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.apache.lucene.core" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.lucene.analysis" version="3.5.0.v20120725-1805"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.lucene.analysis
Bundle-Version: 3.5.0.v20120725-1805
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.aix.ppc" version="3.105.0.v20160412-0750">
<update id="org.eclipse.swt.gtk.aix.ppc" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Standard Widget Toolkit for GTK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.aix.ppc"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="28">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.aix.ppc" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.aix.ppc" version="3.105.0.v20160412-0750"/>
<provided namespace="java.package" name="org.eclipse.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.accessibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.awt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.dnd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.graphics" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.layout" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.opengl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.printing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.program" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.image" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.theme" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.accessibility.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cairo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.cde" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gnome" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.gtk" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.mozilla" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.internal.opengl.glx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.swt" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.0.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.aix.ppc" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.aix.ppc;singleton:=true
Bundle-Version: 3.105.0.v20160412-0750
Fragment-Host: org.eclipse.swt; bundle-version="[3.0.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.admin.rcp.source" version="1.0.200.v20150220-1741" singleton="false">
<update id="org.eclipse.equinox.p2.ui.admin.rcp.source" range="[0.0.0,1.0.200.v20150220-1741)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Provisioning Admin UI RCP (Incubation) Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.admin.rcp"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.admin.rcp.source" version="1.0.200.v20150220-1741"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.admin.rcp.source" version="1.0.200.v20150220-1741"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.admin.rcp.source" version="1.0.200.v20150220-1741"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.admin.rcp.source
Bundle-Version: 1.0.200.v20150220-1741
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.intro.universal.source" version="3.3.0.v20160416-0844" singleton="false">
<update id="org.eclipse.ui.intro.universal.source" range="[0.0.0,3.3.0.v20160416-0844)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Universal Welcome Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro.universal"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.universal.source" version="3.3.0.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro.universal.source" version="3.3.0.v20160416-0844"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro.universal.source" version="3.3.0.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro.universal.source
Bundle-Version: 3.3.0.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="v20160417-1515.Default" version="1.0.0.8BBUEyWcLZbTVEQ8rxQbybQNTQPEk">
<properties size="3">
<property name="org.eclipse.equinox.p2.name" value="Uncategorized"/>
<property name="org.eclipse.equinox.p2.description" value="Default category for otherwise uncategorized features"/>
<property name="org.eclipse.equinox.p2.type.category" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="v20160417-1515.Default" version="1.0.0.8BBUEyWcLZbTVEQ8rxQbybQNTQPEk"/>
</provides>
<requires size="15">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools.feature.feature.group" range="[3.105.0.v20160402-1532,3.105.0.v20160402-1532]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration.feature.group" range="[1.0.200.v20160417-1515,1.0.200.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins.feature.feature.group" range="[1.0.0.v20150202-1328,1.0.0.v20150202-1328]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.sdk.feature.group" range="[3.9.200.v20160317-1257,3.9.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.feature.feature.group" range="[1.0.1.v20140424-1723,1.0.1.v20140424-1723]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.source.feature.group" range="[3.5.600.v20160417-1515,3.5.600.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.source.feature.group" range="[4.5.100.v20160414-1751,4.5.100.v20160414-1751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.sdk.feature.group" range="[3.12.0.v20160414-1953,3.12.0.v20160414-1953]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.compiler.batch" range="[3.12.0.v20160417-1322,3.12.0.v20160417-1322]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.releng.tools.feature.group" range="[3.9.0.v20160416-2220,3.9.0.v20160416-2220]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.feature.feature.group" range="[1.1.200.v20160413-0851,1.1.200.v20160413-0851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.group" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.feature.feature.group" range="[1.0.400.v20160129-1529,1.0.400.v20160129-1529]"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="org.eclipse.compare.core" version="3.6.0.v20160404-1158" singleton="false">
<update id="org.eclipse.compare.core" range="[0.0.0,3.6.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Core Compare Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.core"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.core" version="3.6.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.core" version="3.6.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.compare.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.internal.core.patch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.patch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.compare.rangedifferencer" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="3.6.1"/>
<required namespace="java.package" name="com.ibm.icu.util" range="3.6.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.core" version="3.6.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.core
Bundle-Version: 3.6.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.ide" version="3.12.0.v20160416-1108">
<update id="org.eclipse.ui.ide" range="[0.0.0,3.12.0.v20160416-1108)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Eclipse IDE UI"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.ide"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="40">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide" version="3.12.0.v20160416-1108"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.ide" version="3.12.0.v20160416-1108"/>
<provided namespace="java.package" name="org.eclipse.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.ide" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.ide.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.ide.fileSystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.ide.undo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.misc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.registry" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.ide.undo" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.bookmarkexplorer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.framelist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.markers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.navigator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.tasklist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.wizards.datatransfer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.wizards.newresource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.part" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.bookmarkexplorer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.framelist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.markers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.markers.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.navigator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.views.tasklist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.wizards.datatransfer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.wizards.newresource" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.7.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.106.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="[0.10.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="2.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="[1.3.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.ide" version="3.12.0.v20160416-1108"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.ide; singleton:=true
Bundle-Version: 3.12.0.v20160416-1108
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ltk.ui.refactoring.tests" version="3.8.0.v20151129-1935">
<update id="org.eclipse.ltk.ui.refactoring.tests" range="[0.0.0,3.8.0.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Refactoring UI Test Plug-in"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.ui.refactoring.tests"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring.tests" version="3.8.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring.tests" version="3.8.0.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.examples" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.ui.refactoring.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.ui.refactoring.tests" version="3.8.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.ui.refactoring.tests;singleton:=true
Bundle-Version: 3.8.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.ui.source" version="1.1.300.v20150803-1225" singleton="false">
<update id="org.eclipse.equinox.security.ui.source" range="[0.0.0,1.1.300.v20150803-1225)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Security Default UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.ui"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui.source" version="1.1.300.v20150803-1225"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.ui.source" version="1.1.300.v20150803-1225"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.ui.source" version="1.1.300.v20150803-1225"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.ui.source
Bundle-Version: 1.1.300.v20150803-1225
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.variables.source" version="3.3.0.v20160201-1034" singleton="false">
<update id="org.eclipse.core.variables.source" range="[0.0.0,3.3.0.v20160201-1034)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Core Variables Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.variables"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.variables.source" version="3.3.0.v20160201-1034"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.variables.source" version="3.3.0.v20160201-1034"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.variables.source" version="3.3.0.v20160201-1034"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.variables.source
Bundle-Version: 3.3.0.v20160201-1034
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.cdcfoundation10" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.cdcfoundation10" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="CDC-1.0/Foundation-1.0 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentcdcfoundation10"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.cdcfoundation10"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.cdcfoundation10" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.cdcfoundation10" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.cdcfoundation10" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.cdcfoundation10
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.contexts" version="1.5.0.v20160319-0608" singleton="false">
<update id="org.eclipse.e4.core.contexts" range="[0.0.0,1.5.0.v20160319-0608)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Contexts"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.contexts"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.contexts" version="1.5.0.v20160319-0608"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" version="1.5.0.v20160319-0608"/>
<provided namespace="java.package" name="org.eclipse.e4.core.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.contexts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.internal.contexts.osgi" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.contexts" version="1.5.0.v20160319-0608"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.contexts
Bundle-Version: 1.5.0.v20160319-0608
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.servlet.source" version="3.1.0.v201410161800" singleton="false">
<update id="javax.servlet.source" range="[0.0.0,3.1.0.v201410161800)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="Servlet API Source Bundle"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.source" version="3.1.0.v201410161800"/>
<provided namespace="osgi.bundle" name="javax.servlet.source" version="3.1.0.v201410161800"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.servlet.source" version="3.1.0.v201410161800"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.servlet.source
Bundle-Version: 3.1.0.v201410161800
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.tests" version="0.11.0.v20160407-0754">
<update id="org.eclipse.e4.ui.tests" range="[0.0.0,0.11.0.v20160407-0754)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Modelled UI tests bundle (Incubation)"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.tests"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.tests" version="0.11.0.v20160407-0754"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.tests" version="0.11.0.v20160407-0754"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="31">
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.databinding" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.databinding" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="3.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt" range="0.9.1"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.change" range="2.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.200"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.addons.swt" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.hamcrest" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.mockito" range="1.8.4"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.10.100"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.tests" version="0.11.0.v20160407-0754"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.tests; singleton:=true
Bundle-Version: 0.11.0.v20160407-0754
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.common" version="2.12.0.v20160315-0423">
<update id="org.eclipse.emf.common" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="6">
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.pluginName" value="EMF Common"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="buckminster.build.id" value="S201603150423"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.common" version="2.12.0.v20160315-0423"/>
<provided namespace="java.package" name="org.eclipse.emf.common" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.common.archive" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.common.command" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.common.notify" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.common.notify.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.emf.common.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)" optional="true"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.common" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.common;singleton:=true
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.ui" version="1.1.0.v20160323-1149">
<update id="org.eclipse.pde.ds.ui" range="[0.0.0,1.1.0.v20160323-1149)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE DS UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.ui" version="1.1.0.v20160323-1149"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.ui" version="1.1.0.v20160323-1149"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.editor.contentassist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.editor.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.editor.sections" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.parts" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.ui.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ds.core" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.ui" version="1.1.0.v20160323-1149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.ui;singleton:=true
Bundle-Version: 1.1.0.v20160323-1149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.ui.source" version="4.0.100.v20151202-2026" singleton="false">
<update id="org.eclipse.help.ui.source" range="[0.0.0,4.0.100.v20151202-2026)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Help System UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help.ui"/>
<property name="maven-version" value="4.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.ui.source" version="4.0.100.v20151202-2026"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.ui.source" version="4.0.100.v20151202-2026"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.ui.source" version="4.0.100.v20151202-2026"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.ui.source
Bundle-Version: 4.0.100.v20151202-2026
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.win32.x86_64.source" version="1.0.100.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.security.win32.x86_64.source" range="[0.0.0,1.0.100.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Windows Data Protection services integration (64 bit) Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.win32.x86_64"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64.source" version="1.0.100.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.win32.x86_64.source" version="1.0.100.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.win32.x86_64.source" version="1.0.100.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.win32.x86_64.source
Bundle-Version: 1.0.100.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.examples.ui.source" version="1.5.0.v20150305-0941" singleton="false">
<update id="org.eclipse.debug.examples.ui.source" range="[0.0.0,1.5.0.v20150305-0941)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Example Debug UI Plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.examples.ui"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.ui.source" version="1.5.0.v20150305-0941"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.examples.ui.source" version="1.5.0.v20150305-0941"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.examples.ui.source" version="1.5.0.v20150305-0941"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.examples.ui.source
Bundle-Version: 1.5.0.v20150305-0941
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.source.feature.feature.jar" version="3.13.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Filetransfer Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF Filetransfer API bundle.  This API is used&#10;by the Eclipse platform to support P2 filetransfer and is required for any of the ECF FileTransfer providers."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.source.feature.feature.jar" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.filetransfer.source.feature" version="3.13.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.filetransfer.source.feature" version="3.13.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2004, 2007 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.jarprocessor.source" version="1.0.400.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.jarprocessor.source" range="[0.0.0,1.0.400.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning JAR Processor Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.jarprocessor"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor.source" version="1.0.400.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.jarprocessor.source" version="1.0.400.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.jarprocessor.source" version="1.0.400.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor.source
Bundle-Version: 1.0.400.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.javase16" version="1.0.200.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.javase16" range="[0.0.0,1.0.200.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="JavaSE-1.6 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentjavase16"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.javase16"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase16" version="1.0.200.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.javase16" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.200.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.javase16" version="1.0.200.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.javase16
Bundle-Version: 1.0.200.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.javaeditor.source" version="3.2.0.v20151201-1259" singleton="false">
<update id="org.eclipse.ui.examples.javaeditor.source" range="[0.0.0,3.2.0.v20151201-1259)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Text Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.javaeditor"/>
<property name="maven-version" value="3.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.javaeditor.source" version="3.2.0.v20151201-1259"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.javaeditor.source" version="3.2.0.v20151201-1259"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.javaeditor.source" version="3.2.0.v20151201-1259"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.javaeditor.source
Bundle-Version: 3.2.0.v20151201-1259
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.rcp.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.rcp.feature"/>
<property name="maven-artifactId" value="org.eclipse.rcp"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse RCP"/>
<property name="df_LT.description" value="Rich Client Platform"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.rcp.feature.group" range="[1.5.0.v20160415-1410,1.5.0.v20160415-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help" range="[3.7.0.v20160407-1711,3.7.0.v20160407-1711]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui" range="[3.107.0.v20160415-1308,3.107.0.v20160415-1308]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench" range="[3.108.0.v20160415-1433,3.108.0.v20160415-1433]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.configurator" range="[3.3.400.v20160413-1851,3.3.400.v20160413-1851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cocoa" range="[1.1.100.v20151202-1450,1.1.100.v20151202-1450]">
<filter>
            (&amp;(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp_root" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.ui.css.core.source" version="0.11.0.v20160414-1245" singleton="false">
<update id="org.eclipse.e4.ui.css.core.source" range="[0.0.0,0.11.0.v20160414-1245)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse CSS Core Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.core"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.core.source" version="0.11.0.v20160414-1245"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core.source" version="0.11.0.v20160414-1245"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.core.source" version="0.11.0.v20160414-1245"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.core.source
Bundle-Version: 0.11.0.v20160414-1245
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.examples.filesystem.source" version="3.5.0.v20160323-1650" singleton="false">
<update id="org.eclipse.team.examples.filesystem.source" range="[0.0.0,3.5.0.v20160323-1650)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Team File System Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.examples.filesystem"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.examples.filesystem.source" version="3.5.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.examples.filesystem.source" version="3.5.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.examples.filesystem.source" version="3.5.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.examples.filesystem.source
Bundle-Version: 3.5.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" version="1.1.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" range="[0.0.0,1.1.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Httpclient4 Filetransfer SSL Provider"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the SSL support for the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4.ssl" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.jar" range="[1.1.0.v20160312-0656,1.1.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2014 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.equinox.core.feature.feature.jar" version="1.3.0.v20160407-2059">
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Core Function"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.core.feature"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.feature.feature.jar" version="1.3.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.core.feature" version="1.3.0.v20160407-2059"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.core.feature" version="1.3.0.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder}/../);
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}/../); chmod(targetDir:${installFolder}/../MacOS/, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.discovery.compatibility" version="1.0.200.v20131211-1531">
<update id="org.eclipse.equinox.p2.discovery.compatibility" range="[0.0.0,1.0.200.v20131211-1531)" severity="0"/>
<properties size="8">
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.Bundle-Name" value="Equinox Provisioning Discovery"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery.compatibility"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.compatibility" version="1.0.200.v20131211-1531"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery.compatibility" version="1.0.200.v20131211-1531"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.discovery.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.discovery.compatibility.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="2.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.discovery" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="2.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.transport.ecf" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.discovery.compatibility" version="1.0.200.v20131211-1531"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.discovery.compatibility;singleton:=true
Bundle-Version: 1.0.200.v20131211-1531
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.weaving.caching.j9" version="1.0.200.v20140529-1734" singleton="false">
<update id="org.eclipse.equinox.weaving.caching.j9" range="[0.0.0,1.0.200.v20140529-1734)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="J9 CachingService Plug-in"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.caching.j9"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.j9" version="1.0.200.v20140529-1734"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.caching.j9" version="1.0.200.v20140529-1734"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="java.package" name="com.ibm.oti.shared" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.service.weaving" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.caching.j9" version="1.0.200.v20140529-1734"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.caching.j9
Bundle-Version: 1.0.200.v20140529-1734
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4); markStarted(started: true);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.util.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.util.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Utilities"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.util.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.util.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.util.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.100.v20150907-2149">
<update id="org.eclipse.equinox.simpleconfigurator.manipulator" range="[0.0.0,2.0.100.v20150907-2149)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Simple Configurator Manipulator"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.simpleconfigurator.manipulator"/>
<property name="maven-version" value="2.0.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.100.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.100.v20150907-2149"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator.manipulator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.5.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.equinox" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.frameworkadmin.utils" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configuratormanipulator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator.utils" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.simpleconfigurator.manipulator" version="2.0.100.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.simpleconfigurator.manipulator;singleton:=true
Bundle-Version: 2.0.100.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.update.core" version="3.2.800.v20160413-0713">
<update id="org.eclipse.update.core" range="[0.0.0,3.2.800.v20160413-0713)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Install/Update Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.update"/>
<property name="maven-artifactId" value="org.eclipse.update.core"/>
<property name="maven-version" value="3.2.800-SNAPSHOT"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.core" version="3.2.800.v20160413-0713"/>
<provided namespace="osgi.bundle" name="org.eclipse.update.core" version="3.2.800.v20160413-0713"/>
<provided namespace="java.package" name="org.eclipse.update.configuration" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.core.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.core.connection" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.jarprocessor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.mirror" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.security" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.verifier" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.standalone" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.update.core" version="3.2.800.v20160413-0713"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.update.core; singleton:=true
Bundle-Version: 3.2.800.v20160413-0713
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.macosx" version="1.100.200.v20130327-1442">
<update id="org.eclipse.equinox.security.macosx" range="[0.0.0,1.100.200.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.fragmentName" value="OS X Keystore service integration"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.macosx"/>
<property name="maven-version" value="1.100.200-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx" version="1.100.200.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.macosx" version="1.100.200.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.osx" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.osx.nls" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.security" version="1.100.200.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.os=macosx)(|(osgi.arch=ppc)(osgi.arch=x86)(osgi.arch=x86_64)))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.macosx" version="1.100.200.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.macosx;singleton:=true
Bundle-Version: 1.100.200.v20130327-1442
Fragment-Host: org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.source" version="4.5.0.v20160308-2123" singleton="false">
<update id="org.eclipse.e4.tools.source" range="[0.0.0,4.5.0.v20160308-2123)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Tools Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tool"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.source" version="4.5.0.v20160308-2123"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.source" version="4.5.0.v20160308-2123"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.source" version="4.5.0.v20160308-2123"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.source
Bundle-Version: 4.5.0.v20160308-2123
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.preferences" version="3.6.0.v20160120-1756">
<update id="org.eclipse.equinox.preferences" range="[0.0.0,3.6.0.v20160120-1756)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Preferences Mechanism"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.preferences"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" version="3.6.0.v20160120-1756"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.preferences" version="3.6.0.v20160120-1756"/>
<provided namespace="java.package" name="org.eclipse.core.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.preferences.exchange" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime.preferences" version="3.3.0"/>
<provided namespace="java.package" name="org.osgi.service.prefs" version="1.1.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="[1.1.1,1.2.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.preferences" version="3.6.0.v20160120-1756"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.preferences; singleton:=true
Bundle-Version: 3.6.0.v20160120-1756
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.compendium.sdk.feature.jar" version="3.12.0.v20160413-1439">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Compendium SDK"/>
<property name="df_LT.description" value="A collection of Equinox bundles  and source that implement optional parts of the current OSGi specifications--the so called &amp;quot;Compendium Services&amp;quot;. &#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.compendium.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.compendium.sdk.feature.jar" version="3.12.0.v20160413-1439"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.compendium.sdk" version="3.12.0.v20160413-1439"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.compendium.sdk" version="3.12.0.v20160413-1439"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.feature.jar" version="4.7.0.v20160417-1515">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.update.feature.plugin" value="org.eclipse.rcp"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse RCP"/>
<property name="df_LT.description" value="Rich Client Platform"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.rcp.feature"/>
<property name="maven-artifactId" value="org.eclipse.rcp"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.rcp" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.rcp" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse.t.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.s.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.l.pm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse.m.pm, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.tests.binaries" version="1.0.100.v20141013-0801" singleton="false">
<update id="org.eclipse.jdt.core.tests.binaries" range="[0.0.0,1.0.100.v20141013-0801)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.tests.binaries"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.binaries" version="1.0.100.v20141013-0801"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.binaries" version="1.0.100.v20141013-0801"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.tests.binaries" version="1.0.100.v20141013-0801"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.tests.binaries
Bundle-Version: 1.0.100.v20141013-0801
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.apt.pluggable.core" version="1.1.100.v20160415-0647">
<update id="org.eclipse.jdt.apt.pluggable.core" range="[0.0.0,1.1.100.v20160415-0647)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Compiler Apt IDE"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.pluggable.core"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.core" version="1.1.100.v20160415-0647"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.pluggable.core" version="1.1.100.v20160415-0647"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.apt.pluggable.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.apt.pluggable.core.dispatch" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.apt.pluggable.core.filer" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.apt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.tool" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.dispatch" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.model" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.jdt.internal.compiler.apt.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.pluggable.core" version="1.1.100.v20160415-0647"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.pluggable.core;singleton:=true
Bundle-Version: 1.1.100.v20160415-0647
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.launching" version="3.8.0.v20160414-0814">
<update id="org.eclipse.jdt.launching" range="[0.0.0,3.8.0.v20160414-0814)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools Launching Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching" version="3.8.0.v20160414-0814"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching" version="3.8.0.v20160414-0814"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.launching.environments" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.launching.environments" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.launching.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.launching.sourcelookup.containers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.7.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching" version="3.8.0.v20160414-0814"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching; singleton:=true
Bundle-Version: 3.8.0.v20160414-0814
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.compare.win32.source" version="1.1.0.v20160404-1158" singleton="false">
<update id="org.eclipse.compare.win32.source" range="[0.0.0,1.1.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Compare Support for Word Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.compare"/>
<property name="maven-artifactId" value="org.eclipse.compare.win32"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.win32.source" version="1.1.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.compare.win32.source" version="1.1.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.compare.win32.source" version="1.1.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.compare.win32.source
Bundle-Version: 1.1.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppc64org.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.win32.win32.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.core.expressions" version="3.5.100.v20160413-0851">
<update id="org.eclipse.core.expressions" range="[0.0.0,3.5.100.v20160413-0851)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Expression Language"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.expressions"/>
<property name="maven-version" value="3.5.100-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions" version="3.5.100.v20160413-0851"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.expressions" version="3.5.100.v20160413-0851"/>
<provided namespace="java.package" name="org.eclipse.core.expressions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.expressions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.expressions.propertytester" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.expressions.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.3.0,4.0.0)"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.expressions" version="3.5.100.v20160413-0851"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.expressions; singleton:=true
Bundle-Version: 3.5.100.v20160413-0851
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.fieldassist.source" version="1.1.100.v20160330-1439" singleton="false">
<update id="org.eclipse.ui.examples.fieldassist.source" range="[0.0.0,1.1.100.v20160330-1439)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="unknown"/>
<property name="df_LT.bundleName" value="Field Assist Example Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.fieldassist"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.fieldassist.source" version="1.1.100.v20160330-1439"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.fieldassist.source" version="1.1.100.v20160330-1439"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.fieldassist.source" version="1.1.100.v20160330-1439"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.fieldassist.source
Bundle-Version: 1.1.100.v20160330-1439
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.x86.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.x86.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.x86"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.x86.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.x86.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.x86.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.x86.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.hpux.ia64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.tools" version="3.105.0.v20160402-1532">
<update id="org.eclipse.swt.tools" range="[0.0.0,3.105.0.v20160402-1532)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="SWT Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.tools"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.tools" version="3.105.0.v20160402-1532"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.tools" version="3.105.0.v20160402-1532"/>
<provided namespace="java.package" name="org.eclipse.swt.tools" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.swt.tools.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="3.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.tools" version="3.105.0.v20160402-1532"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.tools; singleton:=true
Bundle-Version: 3.105.0.v20160402-1532
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration.feature.jar" version="1.0.200.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Product Configuration"/>
<property name="df_LT.description" value="Configuration information for the Eclipse product"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.rcp.configuration"/>
<property name="maven-artifactId" value="org.eclipse.rcp.configuration"/>
<property name="maven-version" value="1.0.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration.feature.jar" version="1.0.200.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.rcp.configuration" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.rcp.configuration" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515">
<update id="org.eclipse.sdk.examples" range="[0.0.0,3.5.600.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse SDK Examples"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.sdk"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.sdk.examples; singleton:=true
Bundle-Version: 3.5.600.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.macosx.source" version="1.100.200.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.security.macosx.source" range="[0.0.0,1.100.200.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="OS X Keystore service integration Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.macosx"/>
<property name="maven-version" value="1.100.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx.source" version="1.100.200.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.macosx.source" version="1.100.200.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.macosx.source" version="1.100.200.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.macosx.source
Bundle-Version: 1.100.200.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.ide.source" version="3.12.0.v20160416-1108" singleton="false">
<update id="org.eclipse.ui.ide.source" range="[0.0.0,3.12.0.v20160416-1108)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse IDE UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.ide"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.source" version="3.12.0.v20160416-1108"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.ide.source" version="3.12.0.v20160416-1108"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.ide.source" version="3.12.0.v20160416-1108"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.ide.source
Bundle-Version: 3.12.0.v20160416-1108
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.forms" version="3.7.0.v20160310-0900">
<update id="org.eclipse.ui.forms" range="[0.0.0,3.7.0.v20160310-0900)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="Eclipse Forms"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.forms"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.forms" version="3.7.0.v20160310-0900"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.forms" version="3.7.0.v20160310-0900"/>
<provided namespace="java.package" name="org.eclipse.ui.forms" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.forms.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.forms.events" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.forms.widgets" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.forms" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.forms.css.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.forms.css.properties.css2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.forms.widgets" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.105.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.10.100"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.11.100"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.forms" version="3.7.0.v20160310-0900"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.forms;singleton:=true
Bundle-Version: 3.7.0.v20160310-0900
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.hamcrest.integration" version="1.1.0.v201303031500" singleton="false">
<update id="org.hamcrest.integration" range="[0.0.0,1.1.0.v201303031500)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Hamcrest Integration With Other Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.integration" version="1.1.0.v201303031500"/>
<provided namespace="osgi.bundle" name="org.hamcrest.integration" version="1.1.0.v201303031500"/>
<provided namespace="java.package" name="org.hamcrest" version="1.1.0"/>
<provided namespace="java.package" name="org.hamcrest.integration" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.hamcrest.core" range="1.1.0"/>
<required namespace="java.package" name="org.easymock" range="2.4.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.jmock.core" range="1.10.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.hamcrest.integration" version="1.1.0.v201303031500"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.hamcrest.integration
Bundle-Version: 1.1.0.v201303031500
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.linux.s390x.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.linux.s390x.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.linux.s390x"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.linux.s390x.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.linux.s390x.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.linux.s390x.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.linux.s390x.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.services.source" version="1.2.0.v20160408-1229" singleton="false">
<update id="org.eclipse.e4.ui.services.source" range="[0.0.0,1.2.0.v20160408-1229)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse UI Application Services Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.services"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.services.source" version="1.2.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.services.source" version="1.2.0.v20160408-1229"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.services.source" version="1.2.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.services.source
Bundle-Version: 1.2.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.weaving.caching" version="1.0.400.v20140529-1734" singleton="false">
<update id="org.eclipse.equinox.weaving.caching" range="[0.0.0,1.0.400.v20140529-1734)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Standard Caching Service for Equinox Aspects"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.caching"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching" version="1.0.400.v20140529-1734"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.caching" version="1.0.400.v20140529-1734"/>
<provided namespace="java.package" name="org.eclipse.equinox.weaving.internal.caching" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="java.package" name="com.ibm.oti.shared" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.service.weaving" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.caching" version="1.0.400.v20140529-1734"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.caching
Bundle-Version: 1.0.400.v20140529-1734
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4); markStarted(started: true);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.batik.util.gui.source" version="1.7.0.v200903091627" singleton="false">
<update id="org.apache.batik.util.gui.source" range="[0.0.0,1.7.0.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik GUI Utilities Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.gui.source" version="1.7.0.v200903091627"/>
<provided namespace="osgi.bundle" name="org.apache.batik.util.gui.source" version="1.7.0.v200903091627"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.util.gui.source" version="1.7.0.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.util.gui.source
Bundle-Version: 1.7.0.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.gtk.hpux.ia64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.gtk.hpux.ia64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for GTK Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.gtk.hpux.ia64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.gtk.hpux.ia64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.gtk.hpux.ia64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.gtk.hpux.ia64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.gtk.hpux.ia64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.di.source" version="1.6.0.v20160319-0612" singleton="false">
<update id="org.eclipse.e4.core.di.source" range="[0.0.0,1.6.0.v20160319-0612)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Dependency Injection Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.source" version="1.6.0.v20160319-0612"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di.source" version="1.6.0.v20160319-0612"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di.source" version="1.6.0.v20160319-0612"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di.source
Bundle-Version: 1.6.0.v20160319-0612
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.jsp.jasper.registry" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.jsp.jasper.registry" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Jasper Jsp Registry Support Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.jsp.jasper.registry"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper.registry" version="1.0.300.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.jsp.jasper.registry" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.jsp.jasper" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
<required namespace="java.package" name="javax.servlet" range="2.4.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.jsp.jasper.registry" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper.registry
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="1.0.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.hpux.ia64" version="1.0.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="1.0.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.update.configurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="3.3.400.v20160413-1851"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:false);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:org.eclipse.update.reconcile, propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.runtime.feature.feature.group" version="1.1.200.v20160413-0851" singleton="false">
<update id="org.eclipse.core.runtime.feature.feature.group" range="[0.0.0,1.1.200.v20160413-0851)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.core.feature"/>
<property name="maven-artifactId" value="org.eclipse.core.runtime.feature"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - created feature.xml"/>
<property name="df_LT.featureName" value="Eclipse Core Runtime Infrastructure"/>
<property name="df_LT.description" value="Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.feature.feature.group" version="1.1.200.v20160413-0851"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.core.feature.feature.group" range="[1.3.0.v20160407-2059,1.3.0.v20160407-2059]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" range="[3.12.0.v20160329-1217,3.12.0.v20160329-1217]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.variables" range="[3.3.0.v20160201-1034,3.3.0.v20160201-1034]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.contenttype" range="[3.5.100.v20160319-0604,3.5.100.v20160319-0604]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.expressions" range="[3.5.100.v20160413-0851,3.5.100.v20160413-0851]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime.feature.feature.jar" range="[1.1.200.v20160413-0851,1.1.200.v20160413-0851]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.junit4.runtime.source" version="1.1.500.v20151129-1935" singleton="false">
<update id="org.eclipse.jdt.junit4.runtime.source" range="[0.0.0,1.1.500.v20151129-1935)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools JUnit4 Runtime Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit4.runtime"/>
<property name="maven-version" value="1.1.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit4.runtime.source" version="1.1.500.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit4.runtime.source" version="1.1.500.v20151129-1935"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit4.runtime.source" version="1.1.500.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit4.runtime.source
Bundle-Version: 1.1.500.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingeclipse-junit-tests.configuration" version="4.7.0.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingeclipse-junit-tests.configuration" version="4.7.0.v20160417-1515"/>
</provides>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.junit.runtime.source" version="3.5.0.v20151013-0625" singleton="false">
<update id="org.eclipse.pde.junit.runtime.source" range="[0.0.0,3.5.0.v20151013-0625)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE JUnit Runtime Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.junit.runtime"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.junit.runtime.source" version="3.5.0.v20151013-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.junit.runtime.source" version="3.5.0.v20151013-0625"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.junit.runtime.source" version="3.5.0.v20151013-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.junit.runtime.source
Bundle-Version: 3.5.0.v20151013-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.registry" version="1.1.400.v20150715-1528">
<update id="org.eclipse.equinox.http.registry" range="[0.0.0,1.1.400.v20150715-1528)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Http Service Registry Extensions"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.registry"/>
<property name="maven-version" value="1.1.400-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry" version="1.1.400.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.registry" version="1.1.400.v20150715-1528"/>
<provided namespace="java.package" name="org.eclipse.equinox.http.registry" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="java.package" name="javax.servlet" range="2.3.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.3.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.registry" version="1.1.400.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.registry;singleton:=true
Bundle-Version: 1.1.400.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.examples.ui" version="1.5.0.v20150305-0941">
<update id="org.eclipse.debug.examples.ui" range="[0.0.0,1.5.0.v20150305-0941)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="df_LT.Bundle-Name" value="Example Debug UI Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.examples.ui"/>
<property name="maven-version" value="1.5.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.ui" version="1.5.0.v20150305-0941"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.examples.ui" version="1.5.0.v20150305-0941"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.midi.adapters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.midi.detailpanes" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.midi.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.adapters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.presentation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ui.pda.views" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="3.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="3.10.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.examples.core" range="1.3.300"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.examples.ui" version="1.5.0.v20150305-0941"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.examples.ui;singleton:=true
Bundle-Version: 1.5.0.v20150305-0941
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.performance" version="1.3.0.v20160329-1915">
<update id="org.eclipse.ui.tests.performance" range="[0.0.0,1.3.0.v20160329-1915)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Performance Plug-in"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.performance"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.performance" version="1.3.0.v20160329-1915"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.performance" version="1.3.0.v20160329-1915"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="14">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.performance" version="1.3.0.v20160329-1915"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.performance;singleton:=true
Bundle-Version: 1.3.0.v20160329-1915
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.wireadmin.source" version="1.0.600.v20150715-1528" singleton="false">
<update id="org.eclipse.equinox.wireadmin.source" range="[0.0.0,1.0.600.v20150715-1528)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Wire Admin Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.wireadmin"/>
<property name="maven-version" value="1.0.600-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.wireadmin.source" version="1.0.600.v20150715-1528"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.wireadmin.source" version="1.0.600.v20150715-1528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.wireadmin.source" version="1.0.600.v20150715-1528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.wireadmin.source
Bundle-Version: 1.0.600.v20150715-1528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.security.win32.x86_64" version="1.0.100.v20130327-1442">
<update id="org.eclipse.equinox.security.win32.x86_64" range="[0.0.0,1.0.100.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.fragmentName" value="Windows Data Protection services integration (64 bit)"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.security.win32.x86_64"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64" version="1.0.100.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.security.win32.x86_64" version="1.0.100.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.security.win32" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.security" version="1.0.100.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.security" range="[1.0.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.security.win32.x86_64" version="1.0.100.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.security.win32.x86_64;singleton:=true
Bundle-Version: 1.0.100.v20130327-1442
Fragment-Host: org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.text" version="3.6.0.v20160321-0553" singleton="false">
<update id="org.eclipse.text" range="[0.0.0,3.6.0.v20160321-0553)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Text"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.text"/>
<property name="maven-artifactId" value="org.eclipse.text"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="11">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text" version="3.6.0.v20160321-0553"/>
<provided namespace="osgi.bundle" name="org.eclipse.text" version="3.6.0.v20160321-0553"/>
<provided namespace="java.package" name="org.eclipse.jface.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.link" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.projection" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.source" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jface.text.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.text.edits" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.text.undo" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.text" version="3.6.0.v20160321-0553"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.text
Bundle-Version: 3.6.0.v20160321-0553
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.directorywatcher" version="1.1.100.v20150423-1455">
<update id="org.eclipse.equinox.p2.directorywatcher" range="[0.0.0,1.1.100.v20150423-1455)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Directory Watcher"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.directorywatcher"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher" version="1.1.100.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.directorywatcher" version="1.1.100.v20150423-1455"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.directorywatcher" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.update" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.actions" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.directorywatcher" version="1.1.100.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher;singleton:=true
Bundle-Version: 1.1.100.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.configuration" version="4.7.0.I20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.configuration" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="126">
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.hpux.ia64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64le" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.solaris.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.event" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.simpleconfigurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.solaris.x86_64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.ds" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.win32.win32.x86" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.hpux.ia64org.eclipse.equinox.common" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingcocoa.macosx.x86_64org.eclipse.core.runtime" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86org.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.update.configurator" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppc64org.eclipse.equinox.p2.reconciler.dropins" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem" version="1.6.0.v20160217-2331">
<update id="org.eclipse.core.filesystem" range="[0.0.0,1.6.0.v20160217-2331)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Core File Systems"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem" version="1.6.0.v20160217-2331"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem" version="1.6.0.v20160217-2331"/>
<provided namespace="java.package" name="org.eclipse.core.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.filesystem.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.filesystem.local" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.filesystem.local.unix" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem" version="1.6.0.v20160217-2331"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem; singleton:=true
Bundle-Version: 1.6.0.v20160217-2331
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.sat4j.core" version="2.3.5.v201308161310" singleton="false">
<update id="org.sat4j.core" range="[0.0.0,2.3.5.v201308161310)" severity="0"/>
<properties size="5">
<property name="df_LT.bundleName" value="SAT4J Core"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.core" version="2.3.5.v201308161310"/>
<provided namespace="osgi.bundle" name="org.sat4j.core" version="2.3.5.v201308161310"/>
<provided namespace="java.package" name="org.sat4j" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.core" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.constraints" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.constraints.card" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.constraints.cnf" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.core" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.learning" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.orders" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.minisat.restarts" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.opt" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.reader" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.specs" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.tools" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.tools.encoding" version="2.3.5.v20130525"/>
<provided namespace="java.package" name="org.sat4j.tools.xplain" version="2.3.5.v20130525"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.sat4j.core" version="2.3.5.v201308161310"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.sat4j.core
Bundle-Version: 2.3.5.v201308161310
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.commands.source" version="3.8.0.v20160316-1921" singleton="false">
<update id="org.eclipse.core.commands.source" range="[0.0.0,3.8.0.v20160316-1921)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Commands Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.commands"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.commands.source" version="3.8.0.v20160316-1921"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.commands.source" version="3.8.0.v20160316-1921"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.commands.source" version="3.8.0.v20160316-1921"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.commands.source
Bundle-Version: 3.8.0.v20160316-1921
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.tests.core" version="3.4.100.v20160301-1332">
<update id="org.eclipse.ant.tests.core" range="[0.0.0,3.4.100.v20160301-1332)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Ant Core Test Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.tests.core"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.tests.core" version="3.4.100.v20160301-1332"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.tests.core" version="3.4.100.v20160301-1332"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.core.testplugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.core.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.9.4"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.tests.core" version="3.4.100.v20160301-1332"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.tests.core; singleton:=true
Bundle-Version: 3.4.100.v20160301-1332
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.resources.win32.x86_64" version="3.5.0.v20140124-1940">
<update id="org.eclipse.core.resources.win32.x86_64" range="[0.0.0,3.5.0.v20140124-1940)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="%win32FragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.resources.win32.x86_64"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.win32.x86_64" version="3.5.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.resources.win32.x86_64" version="3.5.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.resources" version="3.5.0.v20140124-1940"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.resources.win32.x86_64" version="3.5.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.resources.win32.x86_64;singleton:=true
Bundle-Version: 3.5.0.v20140124-1940
Fragment-Host: org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[0.0.0,1.1.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher MacOSX Cocoa Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.cocoa.macosx.x86_64"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"/>
<property name="maven-version" value="1.1.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.1.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" version="1.1.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.cocoa.macosx.x86_64;singleton:=true
Bundle-Version: 1.1.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);addJvmArg(jvmArg:-XstartOnFirstThread);addJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeJvmArg(jvmArg:-Xdock${#58}icon=../Resources/Eclipse.icns);removeJvmArg(jvmArg:-XstartOnFirstThread);removeJvmArg(jvmArg:-Dorg.eclipse.swt.internal.carbon.smallFonts);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.hpux.ia64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.hpux.ia64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.hpux.ia64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="javax.xml" version="1.3.4.v201005080400" singleton="false">
<update id="javax.xml" range="[0.0.0,1.3.4.v201005080400)" severity="0"/>
<properties size="5">
<property name="df_LT.Bundle-Vendor.0" value="Eclipse Orbit"/>
<property name="df_LT.Bundle-Name.0" value="JAXP XML"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name.0"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor.0"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="29">
<provided namespace="org.eclipse.equinox.p2.iu" name="javax.xml" version="1.3.4.v201005080400"/>
<provided namespace="osgi.bundle" name="javax.xml" version="1.3.4.v201005080400"/>
<provided namespace="java.package" name="javax.xml" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.datatype" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.namespace" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.parsers" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.transform" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.transform.dom" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.transform.sax" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.transform.stream" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.validation" version="1.3.0"/>
<provided namespace="java.package" name="javax.xml.xpath" version="1.3.0"/>
<provided namespace="java.package" name="org.apache.xmlcommons" version="1.3.4"/>
<provided namespace="java.package" name="org.w3c.dom" version="3.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.bootstrap" version="3.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.css" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.events" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.html" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.ls" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.ranges" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.stylesheets" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.traversal" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.views" version="2.0.0"/>
<provided namespace="java.package" name="org.w3c.dom.xpath" version="3.0.0"/>
<provided namespace="java.package" name="org.xml.sax" version="2.0.2"/>
<provided namespace="java.package" name="org.xml.sax.ext" version="2.0.2"/>
<provided namespace="java.package" name="org.xml.sax.helpers" version="2.0.2"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="javax.xml" version="1.3.4.v201005080400"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: javax.xml
Bundle-Version: 1.3.4.v201005080400
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.solaris.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.felix.gogo.runtime.source" version="0.10.0.v201209301036" singleton="false">
<update id="org.apache.felix.gogo.runtime.source" range="[0.0.0,0.10.0.v201209301036)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Felix Gogo Runtime Source"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime.source" version="0.10.0.v201209301036"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.runtime.source" version="0.10.0.v201209301036"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.runtime.source" version="0.10.0.v201209301036"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.runtime.source
Bundle-Version: 0.10.0.v201209301036
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.views.properties.tabbed.source" version="3.7.0.v20160310-0903" singleton="false">
<update id="org.eclipse.ui.views.properties.tabbed.source" range="[0.0.0,3.7.0.v20160310-0903)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Tabbed Properties View Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views.properties.tabbed"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.properties.tabbed.source" version="3.7.0.v20160310-0903"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views.properties.tabbed.source" version="3.7.0.v20160310-0903"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views.properties.tabbed.source" version="3.7.0.v20160310-0903"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views.properties.tabbed.source
Bundle-Version: 3.7.0.v20160310-0903
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.debug.core" version="3.10.100.v20160203-1134">
<update id="org.eclipse.debug.core" range="[0.0.0,3.10.100.v20160203-1134)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Debug Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.core"/>
<property name="maven-version" value="3.10.100-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.core" version="3.10.100.v20160203-1134"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.core" version="3.10.100.v20160203-1134"/>
<provided namespace="java.package" name="org.eclipse.debug.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.core.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.core.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.core.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.core.sourcelookup.containers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.core.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.core.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.core.sourcelookup.containers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.internal.core.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.800,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.core" version="3.10.100.v20160203-1134"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.core; singleton:=true
Bundle-Version: 3.10.100.v20160203-1134
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test.performance" version="3.12.0.v20160111-1759" singleton="false">
<update id="org.eclipse.test.performance" range="[0.0.0,3.12.0.v20160111-1759)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Performance Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.test"/>
<property name="maven-artifactId" value="org.eclipse.test.performance"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.performance" version="3.12.0.v20160111-1759"/>
<provided namespace="osgi.bundle" name="org.eclipse.test.performance" version="3.12.0.v20160111-1759"/>
<provided namespace="java.package" name="org.eclipse.perfmsr.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.internal.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.internal.performance.data" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.internal.performance.db" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.internal.performance.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.internal.performance.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.test.performance" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.apache.derby.core" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.test.performance" version="3.12.0.v20160111-1759"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.test.performance
Bundle-Version: 3.12.0.v20160111-1759
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.ssl" version="1.2.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.ssl" range="[0.0.0,1.2.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF SSL Fragment"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.ssl" version="1.2.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.ssl" version="1.2.0.v20160312-0656"/>
<provided namespace="java.package" name="org.eclipse.ecf.internal.ssl" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.ecf" version="1.2.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="java.package" name="javax.net" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.security" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.ssl" version="1.2.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.ssl
Bundle-Version: 1.2.0.v20160312-0656
Fragment-Host: org.eclipse.ecf
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.win32.win32.x86_64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.win32.win32.x86_64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.win32.win32.x86_64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse.exe, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.source.feature.group" version="3.12.0.v20160417-1515" singleton="false">
<update id="org.eclipse.pde.source.feature.group" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse PDE Plug-in Developer Resources"/>
<property name="df_LT.description" value="Eclipse plug-in development environment, including documentation and source code zips."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.source.feature.group" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.feature.group" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build.source" range="[3.9.200.v20160204-0642,3.9.200.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.core.source" range="[3.11.0.v20160406-0848,3.11.0.v20160406-0848]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.junit.runtime.source" range="[3.5.0.v20151013-0625,3.5.0.v20151013-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.runtime.source" range="[3.5.0.v20160331-1846,3.5.0.v20160331-1846]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.source" range="[3.9.0.v20160415-1056,3.9.0.v20160415-1056]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.templates.source" range="[3.6.0.v20160414-0914,3.6.0.v20160414-0914]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.log.source" range="[1.2.0.v20160329-1845,1.2.0.v20160329-1845]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.source" range="[5.0.1.v201404251740,5.0.1.v201404251740]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.tree.source" range="[5.0.1.v201404251740,5.0.1.v201404251740]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.source" range="[1.1.0.v20160411-1552,1.1.0.v20160411-1552]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.annotations.source" range="[1.0.100.v20160204-0642,1.0.100.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ui.source" range="[1.1.0.v20160403-0937,1.1.0.v20160403-0937]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.core.source" range="[1.1.0.v20151201-1325,1.1.0.v20151201-1325]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.ui.source" range="[1.1.0.v20160323-1149,1.1.0.v20160323-1149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.launching.source" range="[3.6.400.v20160121-1248,3.6.400.v20160121-1248]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.core.source" range="[1.0.500.v20160204-0642,1.0.500.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.ui.source" range="[1.1.0.v20160323-1149,1.1.0.v20160323-1149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.trace.source" range="[1.0.300.v20150911-1533,1.0.300.v20150911-1533]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.annotations.source" range="[1.0.0.v20160407-2125,1.0.0.v20160407-2125]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.source.feature.jar" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="eclipse-junit-tests" version="4.7.0.v20160417-1515">
<update id="eclipse-junit-tests" range="0.0.0" severity="0"/>
<properties size="3">
<property name="org.eclipse.equinox.p2.name" value="eclipse-junit-tests"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="eclipse-junit-tests" version="4.7.0.v20160417-1515"/>
</provides>
<requires size="8">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.feature.group" range="[3.7.100.v20160315-2119,3.7.100.v20160315-2119]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingeclipse-junit-tests.configuration" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.

Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="toolinggtk.linux.ppcorg.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppcorg.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.debug.tests" version="3.10.0.v20160224-0709">
<update id="org.eclipse.jdt.debug.tests" range="[0.0.0,3.10.0.v20160224-0709)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Debug Test Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.debug.tests"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="23">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.tests" version="3.10.0.v20160224-0709"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.debug.tests" version="3.10.0.v20160224-0709"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.test.stepping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.testplugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.testplugin.detailpane" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.testplugin.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.eval.generator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.state" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.ui.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.ui.presentation" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.tests.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.7.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.debug.tests" version="3.10.0.v20160224-0709"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.debug.tests; singleton:=true
Bundle-Version: 3.10.0.v20160224-0709
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.core.source.feature.feature.jar" version="1.3.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Source for ECF Core Feature"/>
<property name="org.eclipse.equinox.p2.description" value="Generated source feature. The original description is:&#10;&#10;This feature provides the ECF core (org.eclipse.ecf) and ECF identity (org.eclipse.ecf.identity) bundles.  These two bundles are required for all other parts of ECF."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.source.feature.feature.jar" version="1.3.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.core.source.feature" version="1.3.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.core.source.feature" version="1.3.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.ltk.ui.refactoring.source" version="3.8.0.v20151129-1935" singleton="false">
<update id="org.eclipse.ltk.ui.refactoring.source" range="[0.0.0,3.8.0.v20151129-1935)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Refactoring UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.ui.refactoring"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring.source" version="3.8.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring.source" version="3.8.0.v20151129-1935"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.ui.refactoring.source" version="3.8.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.ui.refactoring.source
Bundle-Version: 3.8.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.core.source" version="1.1.0.v20151201-1325" singleton="false">
<update id="org.eclipse.pde.ds.core.source" range="[0.0.0,1.1.0.v20151201-1325)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE DS Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.core"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.core.source" version="1.1.0.v20151201-1325"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.core.source" version="1.1.0.v20151201-1325"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.core.source" version="1.1.0.v20151201-1325"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.core.source
Bundle-Version: 1.1.0.v20151201-1325
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.apache.batik.css" version="1.7.0.v201011041433" singleton="false">
<update id="org.apache.batik.css" range="[0.0.0,1.7.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik CSS"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.css" version="1.7.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.apache.batik.css" version="1.7.0.v201011041433"/>
<provided namespace="java.package" name="org.apache.batik.css.dom" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.resources" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.sac" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.value" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.value.resources" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.value.css2" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.value.svg" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.engine.value.svg12" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.parser" version="1.7.0"/>
<provided namespace="java.package" name="org.apache.batik.css.parser.resources" version="1.7.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.apache.batik.util" range="[1.7.0,1.8.0)"/>
<required namespace="java.package" name="org.w3c.dom.events" range="[3.0.0,4.0.0)"/>
<required namespace="java.package" name="org.w3c.css.sac" range="[1.3.0,1.4.0)"/>
<required namespace="java.package" name="org.w3c.dom.svg" range="[1.1.0,1.3.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.css" version="1.7.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.css
Bundle-Version: 1.7.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.core.source" version="3.11.0.v20160406-0848" singleton="false">
<update id="org.eclipse.pde.core.source" range="[0.0.0,3.11.0.v20160406-0848)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.core"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.core.source" version="3.11.0.v20160406-0848"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.core.source" version="3.11.0.v20160406-0848"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.core.source" version="3.11.0.v20160406-0848"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.core.source
Bundle-Version: 3.11.0.v20160406-0848
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.13.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" range="[0.0.0,3.13.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Httpclient4 Filetransfer Provider"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the Apache HttpComponents/HttpClient4-based FileTransfer provider used by the Eclipse platform to support P2 filetransfer."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.httpclient4" range="[1.1.100.v20160312-0656,1.1.100.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.codec" range="[1.6.0.v201305230611,1.6.0.v201305230611]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.logging" range="[1.1.1.v201101211721,1.1.1.v201101211721]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.httpcomponents.httpclient" range="[4.3.6.v201511171540,4.3.6.v201511171540]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.httpcomponents.httpcore" range="[4.3.3.v201411290715,4.3.3.v201411290715]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.jar" range="[3.13.0.v20160312-0656,3.13.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.example.com/copyright" url="http://www.example.com/copyright">
        Copyright (c) 2011 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.equinox.executable_root.cocoa.macosx.x86_64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.cocoa.macosx.x86_64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.cocoa.macosx.x86_64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:Eclipse.app/Contents/MacOS/launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.feature.group" version="2.2.0.v20160417-1515" singleton="false">
<update id="org.eclipse.help.feature.group" range="[0.0.0,2.2.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.help.feature"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="2.2.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Help System"/>
<property name="df_LT.description" value="Eclipse help system."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.group" version="2.2.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="26">
<required namespace="org.eclipse.equinox.p2.iu" name="javax.el" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet" range="[3.1.0.v201410161800,3.1.0.v201410161800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp" range="[2.2.0.v201112011158,2.2.0.v201112011158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.sun.el" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.logging" range="[1.1.1.v201101211721,1.1.1.v201101211721]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish" range="[2.2.2.v201501141630,2.2.2.v201501141630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.analysis" range="[3.5.0.v20120725-1805,3.5.0.v20120725-1805]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.core" range="[3.5.0.v20120725-1805,3.5.0.v20120725-1805]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty" range="[3.3.0.v20160324-1850,3.3.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry" range="[1.1.400.v20150715-1528,1.1.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper" range="[1.0.500.v20150119-1358,1.0.500.v20150119-1358]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.base" range="[4.1.0.v20160417-1515,4.1.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.ui" range="[4.0.100.v20151202-2026,4.0.100.v20151202-2026]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.webapp" range="[3.7.0.v20160416-0844,3.7.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.jar" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.apt.core" version="3.4.100.v20160405-1556">
<update id="org.eclipse.jdt.apt.core" range="[0.0.0,3.4.100.v20160405-1556)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Annotation Processing Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.apt.core"/>
<property name="maven-version" value="3.4.100-SNAPSHOT"/>
</properties>
<provides size="18">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.core" version="3.4.100.v20160405-1556"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.apt.core" version="3.4.100.v20160405-1556"/>
<provided namespace="java.package" name="com.sun.mirror.apt" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.mirror.declaration" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.mirror.type" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.mirror.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.env" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.declaration" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.env" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.generatedfile" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.type" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.internal.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.apt.core.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.6.5"/>
<required namespace="java.package" name="com.sun.mirror.type" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.apt.core" version="3.4.100.v20160405-1556"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.apt.core; singleton:=true
Bundle-Version: 3.4.100.v20160405-1556
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.search.tests" version="3.9.0.v20160404-2012" singleton="false">
<update id="org.eclipse.search.tests" range="[0.0.0,3.9.0.v20160404-2012)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Search Support Tests Plug-in"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.search"/>
<property name="maven-artifactId" value="org.eclipse.search.tests"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search.tests" version="3.9.0.v20160404-2012"/>
<provided namespace="osgi.bundle" name="org.eclipse.search.tests" version="3.9.0.v20160404-2012"/>
<provided namespace="java.package" name="org.eclipse.search.core.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.tests.filesearch" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.5.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.search.tests" version="3.9.0.v20160404-2012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.search.tests
Bundle-Version: 3.9.0.v20160404-2012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk" version="4.7.0.v20160417-1515">
<update id="org.eclipse.sdk" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Project SDK"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.sdk"/>
<property name="maven-artifactId" value="org.eclipse.sdk"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk" version="4.7.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.sdk" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help.ui" range="[4.0.0,5.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="[4.0.0,5.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide.application" range="[1.0.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.sdk" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.sdk;singleton:=true
Bundle-Version: 4.7.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.server.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.server.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Server Core"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.server.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.server.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.server.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ua.tests" version="3.3.800.v20160416-0844">
<update id="org.eclipse.ua.tests" range="[0.0.0,3.3.800.v20160416-0844)" severity="0"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="User Assistance Test"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.ua"/>
<property name="maven-artifactId" value="org.eclipse.ua.tests"/>
<property name="maven-version" value="3.3.800-SNAPSHOT"/>
</properties>
<provides size="40">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ua.tests" version="3.3.800.v20160416-0844"/>
<provided namespace="osgi.bundle" name="org.eclipse.ua.tests" version="3.3.800.v20160416-0844"/>
<provided namespace="java.package" name="org.eclipse.ua.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.browser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.browser.external" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.browser.other" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.browser.servlet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.composite" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.execution" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.other" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.cheatsheet.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.criteria" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.dynamic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.index" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.other" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.remote" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.scope" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.toc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.webapp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.webapp.service" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.help.webextension" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.anchors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.contentdetect" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.other" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.intro.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ua.tests.browser" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help.base" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.help.webapp" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.intro.universal" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.browser" range="3.2.300"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper" range="1.0.200"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.jsp.jasper.registry" range="1.0.100"/>
<required namespace="java.package" name="javax.servlet" range="3.1.0"/>
<required namespace="java.package" name="javax.servlet.http" range="3.1.0"/>
<required namespace="java.package" name="org.apache.lucene.index" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.apache.lucene.search" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.apache.lucene.store" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ua.tests" version="3.3.800.v20160416-0844"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ua.tests;singleton:=true
Bundle-Version: 3.3.800.v20160416-0844
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.launching.source" version="3.8.0.v20160414-0814" singleton="false">
<update id="org.eclipse.jdt.launching.source" range="[0.0.0,3.8.0.v20160414-0814)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Development Tools Launching Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.source" version="3.8.0.v20160414-0814"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching.source" version="3.8.0.v20160414-0814"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching.source" version="3.8.0.v20160414-0814"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching.source
Bundle-Version: 3.8.0.v20160414-0814
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jface.databinding.source" version="1.8.0.v20160329-1916" singleton="false">
<update id="org.eclipse.jface.databinding.source" range="[0.0.0,1.8.0.v20160329-1916)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JFace Data Binding for SWT and JFace Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jface"/>
<property name="maven-artifactId" value="org.eclipse.jface.databinding"/>
<property name="maven-version" value="1.8.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.databinding.source" version="1.8.0.v20160329-1916"/>
<provided namespace="osgi.bundle" name="org.eclipse.jface.databinding.source" version="1.8.0.v20160329-1916"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jface.databinding.source" version="1.8.0.v20160329-1916"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jface.databinding.source
Bundle-Version: 1.8.0.v20160329-1916
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.registry.source" version="3.6.100.v20160223-2218" singleton="false">
<update id="org.eclipse.equinox.registry.source" range="[0.0.0,3.6.100.v20160223-2218)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Extension Registry Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.registry"/>
<property name="maven-version" value="3.6.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.registry.source" version="3.6.100.v20160223-2218"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.registry.source" version="3.6.100.v20160223-2218"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.registry.source" version="3.6.100.v20160223-2218"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.registry.source
Bundle-Version: 3.6.100.v20160223-2218
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ltk.core.refactoring" version="3.7.0.v20160120-1732">
<update id="org.eclipse.ltk.core.refactoring" range="[0.0.0,3.7.0.v20160120-1732)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Refactoring Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ltk"/>
<property name="maven-artifactId" value="org.eclipse.ltk.core.refactoring"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring" version="3.7.0.v20160120-1732"/>
<provided namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" version="3.7.0.v20160120-1732"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.participants" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.core.refactoring.resource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.core.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.core.refactoring.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.core.refactoring.resource" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ltk.internal.core.refactoring.resource.undostates" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.2.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ltk.core.refactoring" version="3.7.0.v20160120-1732"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ltk.core.refactoring; singleton:=true
Bundle-Version: 3.7.0.v20160120-1732
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.core.feature.feature.jar" version="1.3.200.v20160317-1257">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, headless functionalities"/>
<property name="df_LT.description" value="Provides a minimal headless provisioning system."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core.feature"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.jar" version="1.3.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.core.feature" version="1.3.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.core.feature" version="1.3.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.examples.ole.win32" version="3.105.0.v20150928-1000">
<update id="org.eclipse.swt.examples.ole.win32" range="[0.0.0,3.105.0.v20150928-1000)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin.SWTOLEExample.name" value="SWT OLE Example Plugin (Win32)"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.SWTOLEExample.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.ole.win32"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.ole.win32" version="3.105.0.v20150928-1000"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.ole.win32" version="3.105.0.v20150928-1000"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.ole.win32" version="3.105.0.v20150928-1000"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.ole.win32; singleton:=true
Bundle-Version: 3.105.0.v20150928-1000
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.ui.workbench.source" version="1.4.0.v20160408-1229" singleton="false">
<update id="org.eclipse.e4.ui.workbench.source" range="[0.0.0,1.4.0.v20160408-1229)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 Workbench Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.source" version="1.4.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.source" version="1.4.0.v20160408-1229"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.source" version="1.4.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.source
Bundle-Version: 1.4.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.win32.win32.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.win32.win32.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.build.source" version="3.9.200.v20160204-0642" singleton="false">
<update id="org.eclipse.pde.build.source" range="[0.0.0,3.9.200.v20160204-0642)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Plug-in Development Environment Build Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.build"/>
<property name="maven-version" value="3.9.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build.source" version="3.9.200.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.build.source" version="3.9.200.v20160204-0642"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.build.source" version="3.9.200.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.build.source
Bundle-Version: 3.9.200.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.core.runtime" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.core.runtime" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0.v20160329-1217"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:4);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.ui.tests" version="3.12.0.v20160414-1201">
<update id="org.eclipse.jdt.ui.tests" range="[0.0.0,3.12.0.v20160414-1201)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Java Test Plug-in"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.ui.tests"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="33">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui.tests" version="3.12.0.v20160414-1201"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.ui.tests" version="3.12.0.v20160414-1201"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.testplugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.testplugin.test" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.testplugin.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.examples" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.examples.filters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.leaktest" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.leaktest.example" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.leaktest.reftracker" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.browsing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.buildpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.callhierarchy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.chkpii" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.core.source" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.dialogs" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.jarexport" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.leaks" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.packageHover" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.packageview" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.performance.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.quickfix" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.ui.internal.compatibility" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.ui.tests.wizardapi" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.annotation" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit4.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.text.tests" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.11.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.ui.tests" version="3.12.0.v20160414-1201"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.ui.tests; singleton:=true
Bundle-Version: 3.12.0.v20160414-1201
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.javase18" version="1.0.0.v20140306-1849" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.javase18" range="[0.0.0,1.0.0.v20140306-1849)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="df_LT.Bundle-Name" value="JavaSE-1.8 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.javase18"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.javase18" version="1.0.0.v20140306-1849"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.javase18" version="1.0.0.v20140306-1849"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.0.v20140306-1849"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.501"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.javase18" version="1.0.0.v20140306-1849"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.javase18
Bundle-Version: 1.0.0.v20140306-1849
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.501"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.touchpoint.natives" version="1.2.100.v20160104-2129">
<update id="org.eclipse.equinox.p2.touchpoint.natives" range="[0.0.0,1.2.100.v20160104-2129)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Native Touchpoint"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.touchpoint.natives"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.natives" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.natives.actions" version="0.0.0"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.natives" version="1.2.100.v20160104-2129"/>
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" version="1.2.100.v20160104-2129"/>
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" version="1.2.0.v20160104-2129"/>
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" version="1.1.100.v20140523-0116"/>
</provides>
<requires size="16">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.app" range="1.3.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="2.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="2.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.3.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.touchpoint.natives" version="1.2.100.v20160104-2129"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.natives;singleton:=true
Bundle-Version: 1.2.100.v20160104-2129
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.css.swt.theme.source" version="0.10.0.v20160401-0625" singleton="false">
<update id="org.eclipse.e4.ui.css.swt.theme.source" range="[0.0.0,0.10.0.v20160401-0625)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse CSS SWT Theme Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.swt.theme"/>
<property name="maven-version" value="0.10.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt.theme.source" version="0.10.0.v20160401-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme.source" version="0.10.0.v20160401-0625"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.swt.theme.source" version="0.10.0.v20160401-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.swt.theme.source
Bundle-Version: 0.10.0.v20160401-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.updatechecker.source" version="1.1.200.v20131119-0908" singleton="false">
<update id="org.eclipse.equinox.p2.updatechecker.source" range="[0.0.0,1.1.200.v20131119-0908)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Update Checker Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.updatechecker"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker.source" version="1.1.200.v20131119-0908"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatechecker.source" version="1.1.200.v20131119-0908"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.updatechecker.source" version="1.1.200.v20131119-0908"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker.source
Bundle-Version: 1.1.200.v20131119-0908
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.coordinator" version="1.3.200.v20160325-1323" singleton="false">
<update id="org.eclipse.equinox.coordinator" range="[0.0.0,1.3.200.v20160325-1323)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Coordinator"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.coordinator"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.coordinator" version="1.3.200.v20160325-1323"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.coordinator" version="1.3.200.v20160325-1323"/>
<provided namespace="java.package" name="org.osgi.service.coordinator" version="1.0.2"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="org.eclipse.osgi.util" range="[1.1.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.6.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.component" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.coordinator" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.5.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.coordinator" version="1.3.200.v20160325-1323"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.coordinator
Bundle-Version: 1.3.200.v20160325-1323
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.tests" version="3.11.100.v20160407-2059">
<update id="org.eclipse.osgi.tests" range="[0.0.0,3.11.100.v20160407-2059)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="Core OSGi Tests"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.tests"/>
<property name="maven-version" value="3.11.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.tests" version="3.11.100.v20160407-2059"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.tests" version="3.11.100.v20160407-2059"/>
<provided namespace="java.package" name="org.eclipse.osgi.tests.bundles" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.osgi.tests.appadmin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.tests" version="3.11.100.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.tests;singleton:=true
Bundle-Version: 3.11.100.v20160407-2059
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86_64org.eclipse.equinox.event" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.event" range="1.3.200.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.launcher.source" version="1.3.200.v20160318-1642" singleton="false">
<update id="org.eclipse.equinox.launcher.source" range="[0.0.0,1.3.200.v20160318-1642)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Launcher Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.source" version="1.3.200.v20160318-1642"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.source" version="1.3.200.v20160318-1642"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.source" version="1.3.200.v20160318-1642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.source
Bundle-Version: 1.3.200.v20160318-1642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.common.source.feature.jar" version="2.12.0.v20160315-0423">
<properties size="7">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="Source for EMF Common"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Generated source feature. The original description is:&#10;&#10;Common platform-independent utilities used throughout EMF, including collection classes, notifiers, adapters, and commands."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source.feature.jar" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.13.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.filetransfer.feature.feature.group" range="[0.0.0,3.13.0.v20160312-0656)" severity="0"/>
<properties size="6">
<property name="org.eclipse.equinox.p2.name" value="ECF Filetransfer Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF Filetransfer API bundle.  This API is used&#10;by the Eclipse platform to support P2 filetransfer and is required for any of the ECF FileTransfer providers."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.group" version="3.13.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.identity" range="0.0.0"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer" range="[5.0.0.v20160312-0656,5.0.0.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer" range="[3.2.200.v20160312-0656,3.2.200.v20160312-0656]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.jar" range="[3.13.0.v20160312-0656,3.13.0.v20160312-0656]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2004, 2007 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.equinox.weaving.caching.source" version="1.0.400.v20140529-1734" singleton="false">
<update id="org.eclipse.equinox.weaving.caching.source" range="[0.0.0,1.0.400.v20140529-1734)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Standard Caching Service for Equinox Aspects Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.weaving.caching"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.weaving.caching.source" version="1.0.400.v20140529-1734"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.weaving.caching.source" version="1.0.400.v20140529-1734"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.weaving.caching.source" version="1.0.400.v20140529-1734"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.weaving.caching.source
Bundle-Version: 1.0.400.v20140529-1734
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.debug.ui.source" version="3.7.200.v20160415-1147" singleton="false">
<update id="org.eclipse.jdt.debug.ui.source" range="[0.0.0,3.7.200.v20160415-1147)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JDI Debug UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.debug.ui"/>
<property name="maven-version" value="3.7.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.ui.source" version="3.7.200.v20160415-1147"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui.source" version="3.7.200.v20160415-1147"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.debug.ui.source" version="3.7.200.v20160415-1147"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.debug.ui.source
Bundle-Version: 3.7.200.v20160415-1147
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.repository.tools.source" version="2.1.300.v20151005-0151" singleton="false">
<update id="org.eclipse.equinox.p2.repository.tools.source" range="[0.0.0,2.1.300.v20151005-0151)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Repository Tools Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.repository.tools"/>
<property name="maven-version" value="2.1.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools.source" version="2.1.300.v20151005-0151"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.tools.source" version="2.1.300.v20151005-0151"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.repository.tools.source" version="2.1.300.v20151005-0151"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.repository.tools.source
Bundle-Version: 2.1.300.v20151005-0151
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.compiler.apt.source" version="1.2.100.v20160405-1556" singleton="false">
<update id="org.eclipse.jdt.compiler.apt.source" range="[0.0.0,1.2.100.v20160405-1556)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Java Compiler Apt Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.compiler.apt"/>
<property name="maven-version" value="1.2.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt.source" version="1.2.100.v20160405-1556"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.compiler.apt.source" version="1.2.100.v20160405-1556"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.compiler.apt.source" version="1.2.100.v20160405-1556"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.compiler.apt.source
Bundle-Version: 1.2.100.v20160405-1556
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test" version="3.3.200.v20151106-1314">
<update id="org.eclipse.test" range="[0.0.0,3.3.200.v20151106-1314)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Automated Testing"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.test"/>
<property name="maven-artifactId" value="org.eclipse.test"/>
<property name="maven-version" value="3.3.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test" version="3.3.200.v20151106-1314"/>
<provided namespace="osgi.bundle" name="org.eclipse.test" version="3.3.200.v20151106-1314"/>
<provided namespace="java.package" name="org.eclipse.test" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.apache.ant" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide.application" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.app" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.test" version="3.3.200.v20151106-1314"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.test; singleton:=true
Bundle-Version: 3.3.200.v20151106-1314
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.source" version="3.11.0.v20160407-2059" singleton="false">
<update id="org.eclipse.osgi.source" range="[0.0.0,3.11.0.v20160407-2059)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="OSGi System Bundle Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.source" version="3.11.0.v20160407-2059"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.source" version="3.11.0.v20160407-2059"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.source" version="3.11.0.v20160407-2059"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.source
Bundle-Version: 3.11.0.v20160407-2059
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.source.feature.group" version="2.2.0.v20160417-1515" singleton="false">
<update id="org.eclipse.help.source.feature.group" range="[0.0.0,2.2.0.v20160417-1515)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.help.feature"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="2.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Help Developer Resources"/>
<property name="df_LT.description" value="Source code for the Eclipse help system."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source.feature.group" version="2.2.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="27">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.group" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.el.source" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.source" range="[3.1.0.v201410161800,3.1.0.v201410161800]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="javax.servlet.jsp.source" range="[2.2.0.v201112011158,2.2.0.v201112011158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.sun.el.source" range="[2.2.0.v201303151357,2.2.0.v201303151357]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.logging.source" range="[1.1.1.v201101211721,1.1.1.v201101211721]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.jasper.glassfish.source" range="[2.2.2.v201501141630,2.2.2.v201501141630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.analysis.source" range="[3.5.0.v20120725-1805,3.5.0.v20120725-1805]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.lucene.core.source" range="[3.5.0.v20120725-1805,3.5.0.v20120725-1805]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty.source" range="[3.3.0.v20160324-1850,3.3.0.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.registry.source" range="[1.1.400.v20150715-1528,1.1.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servlet.source" range="[1.3.0.v20160413-1503,1.3.0.v20160413-1503]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.source" range="[1.0.500.v20150119-1358,1.0.500.v20150119-1358]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.jsp.jasper.registry.source" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.base.source" range="[4.1.0.v20160417-1515,4.1.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.ui.source" range="[4.0.100.v20151202-2026,4.0.100.v20151202-2026]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.webapp.source" range="[3.7.0.v20160416-0844,3.7.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.io.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.security.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.server.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util.source" range="[9.3.5.v20151012,9.3.5.v20151012]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.source" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.source" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source.feature.jar" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.ini.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.tests.ui" version="3.9.100.v20160211-2225">
<update id="org.eclipse.ant.tests.ui" range="[0.0.0,3.9.100.v20160211-2225)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Ant UI Test Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.tests.ui"/>
<property name="maven-version" value="3.9.100-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.tests.ui" version="3.9.100.v20160211-2225"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.tests.ui" version="3.9.100.v20160211-2225"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.debug" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.dtd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.editor.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.editor.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.editor.support" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.externaltools" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.separateVM" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.tests.ui.testplugin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="20">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.9.2"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.externaltools" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.launching" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.externaltools" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.tests.ui" version="3.9.100.v20160211-2225"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.tests.ui; singleton:=true
Bundle-Version: 3.9.100.v20160211-2225
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.update.configurator.source" version="3.3.400.v20160413-1851" singleton="false">
<update id="org.eclipse.update.configurator.source" range="[0.0.0,3.3.400.v20160413-1851)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Install/Update Configurator Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.update"/>
<property name="maven-artifactId" value="org.eclipse.update.configurator"/>
<property name="maven-version" value="3.3.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.configurator.source" version="3.3.400.v20160413-1851"/>
<provided namespace="osgi.bundle" name="org.eclipse.update.configurator.source" version="3.3.400.v20160413-1851"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.update.configurator.source" version="3.3.400.v20160413-1851"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.update.configurator.source
Bundle-Version: 3.3.400.v20160413-1851
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.publisher.source" version="1.4.0.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.publisher.source" range="[0.0.0,1.4.0.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Publisher Infrastructure Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.publisher"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.source" version="1.4.0.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.publisher.source" version="1.4.0.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.publisher.source" version="1.4.0.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.publisher.source
Bundle-Version: 1.4.0.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.update.configurator" version="3.3.400.v20160413-1851">
<update id="org.eclipse.update.configurator" range="[0.0.0,3.3.400.v20160413-1851)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Install/Update Configurator"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.update"/>
<property name="maven-artifactId" value="org.eclipse.update.configurator"/>
<property name="maven-version" value="3.3.400-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.update.configurator" version="3.3.400.v20160413-1851"/>
<provided namespace="osgi.bundle" name="org.eclipse.update.configurator" version="3.3.400.v20160413-1851"/>
<provided namespace="java.package" name="org.eclipse.update.configurator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.configurator" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.update.internal.configurator.branding" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.update.configurator" version="3.3.400.v20160413-1851"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.update.configurator; singleton:=true
Bundle-Version: 3.3.400.v20160413-1851
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.jxpath.source" version="1.3.0.v200911051830" singleton="false">
<update id="org.apache.commons.jxpath.source" range="[0.0.0,1.3.0.v200911051830)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Commons JXPath Source"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.jxpath.source" version="1.3.0.v200911051830"/>
<provided namespace="osgi.bundle" name="org.apache.commons.jxpath.source" version="1.3.0.v200911051830"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.jxpath.source" version="1.3.0.v200911051830"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.jxpath.source
Bundle-Version: 1.3.0.v200911051830
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.sshd.core" version="0.7.0.v201303101611" singleton="false">
<update id="org.apache.sshd.core" range="[0.0.0,0.7.0.v201303101611)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache MINA SSHD Core"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and    pragmatic software license, and a desire to create high quality software that leads the way in its field.    We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users."/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.apache.org/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="42">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.sshd.core" version="0.7.0.v201303101611"/>
<provided namespace="osgi.bundle" name="org.apache.sshd.core" version="0.7.0.v201303101611"/>
<provided namespace="java.package" name="org.apache.sshd.common" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.keyprovider" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.kex" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.session" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.future" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.future" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.keyverifier" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.channel" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.filesystem" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.shell" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.agent" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.kex" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.session" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.command" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.random" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.auth" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.agent.local" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.agent.unix" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.auth.gss" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.agent.common" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.compression" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.signature" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.cipher" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.channel" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.auth" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.util" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.keyprovider" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.mac" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.x11" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.jaas" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client.kex" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.client" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.sftp" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.server.session" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.digest" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd" version="0.7.0"/>
<provided namespace="java.package" name="org.apache.sshd.common.channel" version="0.7.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="java.package" name="com.jcraft.jzlib" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.interfaces" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.callback" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.login" range="0.0.0"/>
<required namespace="java.package" name="org.apache.mina.core.buffer" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.core.filterchain" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.core.future" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.core.service" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.core.session" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.filter.executor" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.transport.socket" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.transport.socket.nio" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.mina.util" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.apache.tomcat.jni" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.bouncycastle.crypto.prng" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.bouncycastle.jce.provider" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.bouncycastle.openssl" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.ietf.jgss" range="0.0.0"/>
<required namespace="java.package" name="org.slf4j" range="[1.6.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.sshd.core" version="0.7.0.v201303101611"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.sshd.core
Bundle-Version: 0.7.0.v201303101611
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.test.feature.group" version="3.7.100.v20160315-2119" singleton="false">
<update id="org.eclipse.test.feature.group" range="[0.0.0,3.7.100.v20160315-2119)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.test.feature"/>
<property name="maven-artifactId" value="org.eclipse.test"/>
<property name="maven-version" value="3.7.100-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Test Framework"/>
<property name="df_LT.description" value="Eclipse Test Framework. Used in conjunction with Eclipse JUnit tests."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.feature.group" version="3.7.100.v20160315-2119"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="9">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.optional.junit" range="[3.3.200.v20160315-2119,3.3.200.v20160315-2119]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test" range="[3.3.200.v20151106-1314,3.3.200.v20151106-1314]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.source" range="[3.3.200.v20151106-1314,3.3.200.v20151106-1314]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.performance" range="[3.12.0.v20160111-1759,3.12.0.v20160111-1759]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.performance.win32" range="[3.1.200.v20140518-1929,3.1.200.v20140518-1929]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.junit" range="[4.12.0.v201504281640,4.12.0.v201504281640]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.easymock" range="[2.4.0.v20090202-0900,2.4.0.v20090202-0900]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core" range="[1.3.0.v201303031735,1.3.0.v201303031735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.test.feature.jar" range="[3.7.100.v20160315-2119,3.7.100.v20160315-2119]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.rcp.id.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.objectweb.asm.tree.source" version="5.0.1.v201404251740" singleton="false">
<update id="org.objectweb.asm.tree.source" range="[0.0.0,5.0.1.v201404251740)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="ASM Tree (Source)"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.tree.source" version="5.0.1.v201404251740"/>
<provided namespace="osgi.bundle" name="org.objectweb.asm.tree.source" version="5.0.1.v201404251740"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.objectweb.asm.tree.source" version="5.0.1.v201404251740"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.objectweb.asm.tree.source
Bundle-Version: 5.0.1.v201404251740
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20160312-0656" singleton="false">
<update id="org.eclipse.ecf.provider.filetransfer.ssl" range="[0.0.0,1.0.0.v20160312-0656)" severity="0"/>
<properties size="5">
<property name="df_LT.plugin.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.plugin.name" value="ECF Filetransfer SSL Fragment"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%plugin.provider"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20160312-0656"/>
<provided namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.ecf.provider.filetransfer" version="1.0.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.ecf.provider.filetransfer" range="2.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ecf.provider.filetransfer.ssl
Bundle-Version: 1.0.0.v20160312-0656
Fragment-Host: org.eclipse.ecf.provider.filetransfer;bundle-version="2.0.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.launching.macosx" version="3.3.0.v20150313-0517">
<update id="org.eclipse.jdt.launching.macosx" range="[0.0.0,3.3.0.v20150313-0517)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.pluginName" value="Mac OS X Launcher"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching.macosx"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.macosx" version="3.3.0.v20150313-0517"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching.macosx" version="3.3.0.v20150313-0517"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.launching.macosx" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.5.0,4.0.0)"/>
</requires>
<filter>
        (osgi.os=macosx)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching.macosx" version="3.3.0.v20150313-0517"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching.macosx; singleton:=true
Bundle-Version: 3.3.0.v20150313-0517
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.net.linux.x86_64" version="1.2.0.v20160323-1650">
<update id="org.eclipse.core.net.linux.x86_64" range="[0.0.0,1.2.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Proxy for Linux x86_64"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net.linux.x86_64"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.linux.x86_64" version="1.2.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net.linux.x86_64" version="1.2.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.net" version="1.2.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.1.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net.linux.x86_64" version="1.2.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net.linux.x86_64;singleton:=true
Bundle-Version: 1.2.0.v20160323-1650
Fragment-Host: org.eclipse.core.net;bundle-version="1.1.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jsch.core.source" version="1.3.0.v20160323-1650" singleton="false">
<update id="org.eclipse.jsch.core.source" range="[0.0.0,1.3.0.v20160323-1650)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JSch Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.jsch"/>
<property name="maven-artifactId" value="org.eclipse.jsch.core"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.core.source" version="1.3.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.jsch.core.source" version="1.3.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jsch.core.source" version="1.3.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jsch.core.source
Bundle-Version: 1.3.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.s390x.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.css.swt" version="0.12.0.v20160412-1804">
<update id="org.eclipse.e4.ui.css.swt" range="[0.0.0,0.12.0.v20160412-1804)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse CSS SWT Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.swt"/>
<property name="maven-version" value="0.12.0-SNAPSHOT"/>
</properties>
<provides size="22">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.swt" version="0.12.0.v20160412-1804"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" version="0.12.0.v20160412-1804"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.dom.definition" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.dom.html" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.dom.preference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.engine.html" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.helpers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties.converters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties.css2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties.custom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties.definition" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.properties.preference" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.swt.serializers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.css.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.css.swt.definition" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.4.1,4.0.0)"/>
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.swt" version="0.12.0.v20160412-1804"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.swt;singleton:=true
Bundle-Version: 0.12.0.v20160412-1804
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.server.p2.feature.group" version="1.2.300.v20160120-1756" singleton="false">
<update id="org.eclipse.equinox.server.p2.feature.group" range="[0.0.0,1.2.300.v20160120-1756)" severity="0"/>
<properties size="10">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.server.p2"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 IBM, Composent, Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM - initial API and implementation"/>
<property name="df_LT.featureName" value="p2 Server Feature"/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.p2.feature.group" version="1.2.300.v20160120-1756"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.feature.feature.group" range="[1.1.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.feature.feature.group" range="[3.9.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.feature.feature.group" range="[3.8.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.httpclient4.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.filetransfer.ssl.feature.feature.group" range="[1.0.0,2.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository" range="[1.1.500.v20160102-2223,1.1.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.console" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director" range="[2.3.200.v20150907-2149,2.3.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.engine" range="[2.4.100.v20160102-2223,2.4.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.garbagecollector" range="[1.0.200.v20150907-2149,1.0.200.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata" range="[2.3.100.v20160102-2223,2.3.100.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository" range="[1.2.300.v20160102-2223,1.2.300.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository" range="[2.3.200.v20160102-2223,2.3.200.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse" range="[2.1.400.v20160102-2223,2.1.400.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.natives" range="[1.2.100.v20160104-2129,1.2.100.v20160104-2129]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.100.v20150907-2149,2.0.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.core" range="[2.3.5.v201308161310,2.3.5.v201308161310]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.sat4j.pb" range="[2.3.5.v201404071733,2.3.5.v201404071733]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin" range="[2.0.200.v20150423-1455,2.0.200.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.frameworkadmin.equinox" range="[1.0.700.v20160102-2223,1.0.700.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.preferences" range="[3.6.0.v20160120-1756,3.6.0.v20160120-1756]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.app" range="[1.3.400.v20150715-1528,1.3.400.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.jarprocessor" range="[1.0.400.v20150907-2149,1.0.400.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.transport.ecf" range="[1.1.100.v20150521-1342,1.1.100.v20150521-1342]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.server.p2.feature.jar" range="[1.2.300.v20160120-1756,1.2.300.v20160120-1756]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder}/../);
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}/../); chmod(targetDir:${installFolder}/../MacOS/, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.codec" version="1.6.0.v201305230611" singleton="false">
<update id="org.apache.commons.codec" range="[0.0.0,1.6.0.v201305230611)" severity="0"/>
<properties size="7">
<property name="df_LT.bundleName" value="Apache Commons Codec Plug-in"/>
<property name="df_LT.bundleProvider" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="The codec package contains simple encoder and decoders for     various formats such as Base64 and Hexadecimal.  In addition to these     widely used encoders and decoders, the codec package also maintains a     collection of phonetic encoding utilities."/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleProvider"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://commons.apache.org/codec/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.codec" version="1.6.0.v201305230611"/>
<provided namespace="osgi.bundle" name="org.apache.commons.codec" version="1.6.0.v201305230611"/>
<provided namespace="java.package" name="org.apache.commons.codec" version="1.6.0"/>
<provided namespace="java.package" name="org.apache.commons.codec.binary" version="1.6.0"/>
<provided namespace="java.package" name="org.apache.commons.codec.digest" version="1.6.0"/>
<provided namespace="java.package" name="org.apache.commons.codec.language" version="1.6.0"/>
<provided namespace="java.package" name="org.apache.commons.codec.language.bm" version="1.6.0"/>
<provided namespace="java.package" name="org.apache.commons.codec.net" version="1.6.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.codec" version="1.6.0.v201305230611"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.codec
Bundle-Version: 1.6.0.v201305230611
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.net.linux.x86" version="1.2.0.v20160323-1650">
<update id="org.eclipse.core.net.linux.x86" range="[0.0.0,1.2.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Proxy for Linux"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net.linux.x86"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.linux.x86" version="1.2.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net.linux.x86" version="1.2.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.net" version="1.2.0.v20160323-1650"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.net" range="1.1.0"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net.linux.x86" version="1.2.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net.linux.x86;singleton:=true
Bundle-Version: 1.2.0.v20160323-1650
Fragment-Host: org.eclipse.core.net;bundle-version="1.1.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.aix.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.annotation" version="1.1.100.v20140704-0625" singleton="false">
<update id="org.eclipse.jdt.annotation" range="[0.0.0,1.1.100.v20140704-0625)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="JDT Annotations for Enhanced Null Analysis"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="bundle"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.annotation"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation" version="1.1.100.v20140704-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.annotation" version="1.1.100.v20140704-0625"/>
<provided namespace="java.package" name="org.eclipse.jdt.annotation" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.annotation" version="1.1.100.v20140704-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.annotation
Bundle-Version: 1.1.100.v20140704-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.updatechecker" version="1.1.200.v20131119-0908">
<update id="org.eclipse.equinox.p2.updatechecker" range="[0.0.0,1.1.200.v20131119-0908)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="df_LT.pluginName" value="Equinox Provisioning Update Checker"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.updatechecker"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker" version="1.1.200.v20131119-0908"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatechecker" version="1.1.200.v20131119-0908"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.updatechecker" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.updatechecker" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.3.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.updatechecker" version="1.1.200.v20131119-0908"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.updatechecker;singleton:=true
Bundle-Version: 1.1.200.v20131119-0908
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.readmetool.source" version="3.4.0.v20160329-2017" singleton="false">
<update id="org.eclipse.ui.examples.readmetool.source" range="[0.0.0,3.4.0.v20160329-2017)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Readme File Editing Tool Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.readmetool"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.readmetool.source" version="3.4.0.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.readmetool.source" version="3.4.0.v20160329-2017"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.readmetool.source" version="3.4.0.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.readmetool.source
Bundle-Version: 3.4.0.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder}/../);
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}/../); chmod(targetDir:${installFolder}/../MacOS/, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.win32.win32.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ua.core" version="1.0.500.v20160204-0642">
<update id="org.eclipse.pde.ua.core" range="[0.0.0,1.0.500.v20160204-0642)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE UA Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ua.core"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.core" version="1.0.500.v20160204-0642"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ua.core" version="1.0.500.v20160204-0642"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.cheatsheet.comp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.cheatsheet.simple" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.cheatsheet.simple.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.ctxhelp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.ctxhelp.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.icheatsheet" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.icheatsheet.comp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.toc" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ua.core.toc.text" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ua.core" version="1.0.500.v20160204-0642"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ua.core;singleton:=true
Bundle-Version: 1.0.500.v20160204-0642
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.annotations" version="1.0.0.v20160407-2125">
<update id="org.eclipse.pde.ds.annotations" range="[0.0.0,1.0.0.v20160407-2125)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Declarative Services Annotations Support"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.annotations"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.annotations" version="1.0.0.v20160407-2125"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.annotations" version="1.0.0.v20160407-2125"/>
<provided namespace="java.package" name="org.eclipse.pde.ds.internal.annotations" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.105.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ds.core" range="[1.1.0,1.2.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.8.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.8.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.501,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.300,4.0.0)"/>
<required namespace="java.package" name="org.osgi.service.component" range="[1.2.0,2.0.0)"/>
<required namespace="java.package" name="org.osgi.service.component.annotations" range="[1.2.0,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.annotations" version="1.0.0.v20160407-2125"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.annotations;singleton:=true
Bundle-Version: 1.0.0.v20160407-2125
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.servletbridge" version="1.3.200.v20160128-1435">
<update id="org.eclipse.equinox.servletbridge" range="[0.0.0,1.3.200.v20160128-1435)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Servletbridge"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.servletbridge"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.servletbridge" version="1.3.200.v20160128-1435"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.servletbridge" version="1.3.200.v20160128-1435"/>
<provided namespace="java.package" name="org.eclipse.equinox.servletbridge" version="1.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="java.package" name="javax.servlet" range="2.3.0"/>
<required namespace="java.package" name="javax.servlet.http" range="2.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.servletbridge" version="1.3.200.v20160128-1435"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.servletbridge;singleton:=true
Bundle-Version: 1.3.200.v20160128-1435
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.commands.source" version="0.11.0.v20160408-1229" singleton="false">
<update id="org.eclipse.e4.core.commands.source" range="[0.0.0,0.11.0.v20160408-1229)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 core commands Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.commands"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands.source" version="0.11.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.commands.source" version="0.11.0.v20160408-1229"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.commands.source" version="0.11.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.commands.source
Bundle-Version: 0.11.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.repository" version="2.3.200.v20160102-2223">
<update id="org.eclipse.equinox.p2.repository" range="[0.0.0,2.3.200.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Repository"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.repository"/>
<property name="maven-version" value="2.3.200-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository" version="2.3.200.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" version="2.3.200.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" version="2.3.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata.spi" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="25">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.3.0"/>
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.preferences" range="3.2.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.security.storage" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax.helpers" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.repository" version="2.3.200.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true
Bundle-Version: 2.3.200.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde" version="3.12.0.v20160417-1515">
<update id="org.eclipse.pde" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde" version="3.12.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde;singleton:=true
Bundle-Version: 3.12.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.browser.demos.source" version="3.105.0.v20160115-0826" singleton="false">
<update id="org.eclipse.swt.examples.browser.demos.source" range="[0.0.0,3.105.0.v20160115-0826)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="SWT Browser Demos Plugin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.browser.demos"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.browser.demos.source" version="3.105.0.v20160115-0826"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.browser.demos.source" version="3.105.0.v20160115-0826"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.browser.demos.source" version="3.105.0.v20160115-0826"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.browser.demos.source
Bundle-Version: 3.105.0.v20160115-0826
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.felix.gogo.command" version="0.10.0.v201209301215" singleton="false">
<update id="org.apache.felix.gogo.command" range="[0.0.0,0.10.0.v201209301215)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache Felix Gogo Command"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="Provides basic shell commands for Gogo."/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.apache.org/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.command" version="0.10.0.v201209301215"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.command" version="0.10.0.v201209301215"/>
<provided namespace="java.package" name="org.osgi.service.log" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="org.apache.felix.service.command" range="0.10.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.command" version="0.10.0.v201209301215"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.command
Bundle-Version: 0.10.0.v201209301215
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="0.0.0">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.ide.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.p2.core" version="2.4.100.v20160102-2223">
<update id="org.eclipse.equinox.p2.core" range="[0.0.0,2.4.100.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Core"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.core"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core" version="2.4.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" version="2.4.100.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.core" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.core.spi" version="2.1.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.core" version="2.4.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true
Bundle-Version: 2.4.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.http.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.http.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Http Utility"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.http.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.http.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.http.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.http.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.e4.core.services.source" version="2.0.0.v20160319-0607" singleton="false">
<update id="org.eclipse.e4.core.services.source" range="[0.0.0,2.0.0.v20160319-0607)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Application Services Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.services"/>
<property name="maven-version" value="2.0.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.services.source" version="2.0.0.v20160319-0607"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.services.source" version="2.0.0.v20160319-0607"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.services.source" version="2.0.0.v20160319-0607"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.services.source
Bundle-Version: 2.0.0.v20160319-0607
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.externaltools" version="3.3.0.v20160126-1316">
<update id="org.eclipse.ui.externaltools" range="[0.0.0,3.3.0.v20160126-1316)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="External Tools"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.externaltools"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.externaltools" version="3.3.0.v20160126-1316"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.externaltools" version="3.3.0.v20160126-1316"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.menu" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.program.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.externaltools.internal.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.800,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.externaltools" range="[1.0.300,2.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.externaltools" version="3.3.0.v20160126-1316"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.externaltools; singleton:=true
Bundle-Version: 3.3.0.v20160126-1316
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extras.feature.source.feature.group" version="1.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.extras.feature.source.feature.group" range="[0.0.0,1.2.200.v20160317-1257)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extras.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 RCP Management Facilities"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.source.feature.group" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.feature.group" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.director.app.source" range="[1.0.500.v20160102-2223,1.0.500.v20160102-2223]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.directorywatcher.source" range="[1.1.100.v20150423-1455,1.1.100.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.reconciler.dropins.source" range="[1.1.300.v20150907-2149,1.1.300.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.source" range="[1.4.0.v20150907-2149,1.4.0.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extensionlocation.source" range="[1.2.300.v20160128-1810,1.2.300.v20160128-1810]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.repository.tools.source" range="[2.1.300.v20151005-0151,2.1.300.v20151005-0151]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.publisher.eclipse.source" range="[1.2.0.v20151011-0147,1.2.0.v20151011-0147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.source.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.source.feature.jar" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.ds.tests" version="1.2.200.v20160408-1539" singleton="false">
<update id="org.eclipse.equinox.ds.tests" range="[0.0.0,1.2.200.v20160408-1539)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Declarative Services Tests"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.ds.tests"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds.tests" version="1.2.200.v20160408-1539"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.ds.tests" version="1.2.200.v20160408-1539"/>
<provided namespace="java.package" name="org.eclipse.equinox.ds.tests.tbc" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.urlconversion" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.component" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.permissionadmin" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.ds.tests" version="1.2.200.v20160408-1539"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.ds.tests
Bundle-Version: 1.2.200.v20160408-1539
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.w3c.dom.smil.source" version="1.0.1.v200903091627" singleton="false">
<update id="org.w3c.dom.smil.source" range="[0.0.0,1.0.1.v200903091627)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="W3C SMIL DOM Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.w3c.dom.smil.source" version="1.0.1.v200903091627"/>
<provided namespace="osgi.bundle" name="org.w3c.dom.smil.source" version="1.0.1.v200903091627"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.w3c.dom.smil.source" version="1.0.1.v200903091627"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.w3c.dom.smil.source
Bundle-Version: 1.0.1.v200903091627
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.tests" version="1.1.0.v20150911-1533" singleton="false">
<update id="org.eclipse.pde.ds.tests" range="[0.0.0,1.1.0.v20150911-1533)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE DS Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.tests"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.tests" version="1.1.0.v20150911-1533"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.tests" version="1.1.0.v20150911-1533"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.ds.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ds.core" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.tests" version="1.1.0.v20150911-1533"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.tests
Bundle-Version: 1.1.0.v20150911-1533
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.tests.views.properties.tabbed" version="3.6.0.v20160329-1915">
<update id="org.eclipse.ui.tests.views.properties.tabbed" range="[0.0.0,3.6.0.v20160329-1915)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Tabbed Properties View Tests"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.tests.views.properties.tabbed"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
</properties>
<provides size="21">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.tests.views.properties.tabbed" version="3.6.0.v20160329-1915"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.tests.views.properties.tabbed" version="3.6.0.v20160329-1915"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.decorations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.decorations.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.filters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.section.descriptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.sections" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.tab.descriptors" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.dynamic.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.override" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.override.folders" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.override.items" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.override.tablist" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.sections" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.tests.views.properties.tabbed.views" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views.properties.tabbed" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.tests.views.properties.tabbed" version="3.6.0.v20160329-1915"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.tests.views.properties.tabbed;singleton:=true
Bundle-Version: 3.6.0.v20160329-1915
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingwin32.win32.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingwin32.win32.x86_64org.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolingwin32.win32.x86_64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.feature.jar" version="4.7.0.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 Eclipse contributors and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Project SDK"/>
<property name="df_LT.description" value="SDK for Eclipse."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.sdk" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.sdk" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036" singleton="false">
<update id="org.apache.felix.gogo.runtime" range="[0.0.0,0.10.0.v201209301036)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache Felix Gogo Runtime"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="Apache Felix Gogo Subproject"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.apache.org/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>
<provided namespace="osgi.bundle" name="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>
<provided namespace="java.package" name="org.apache.felix.service.command" version="0.10.0"/>
<provided namespace="java.package" name="org.apache.felix.gogo.api" version="0.10.0"/>
<provided namespace="java.package" name="org.apache.felix.service.threadio" version="0.10.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="org.apache.felix.gogo.api" range="0.10.0"/>
<required namespace="java.package" name="org.apache.felix.service.command" range="0.10.0"/>
<required namespace="java.package" name="org.apache.felix.service.threadio" range="0.10.0"/>
<required namespace="java.package" name="org.osgi.framework" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.felix.gogo.runtime
Bundle-Version: 0.10.0.v201209301036
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.x86_64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.x86_64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.x86_64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.util" version="3.3.100.v20150423-1351" singleton="false">
<update id="org.eclipse.osgi.util" range="[0.0.0,3.3.100.v20150423-1351)" severity="0"/>
<properties size="12">
<property name="df_LT.osgiUtilDes" value="OSGi Service Platform Release 4.2.0 Utility Classes"/>
<property name="df_LT.eclipse.org" value="Eclipse.org - Equinox"/>
<property name="df_LT.osgiUtil" value="OSGi Release 4.2.0 Utility Classes"/>
<property name="org.eclipse.equinox.p2.name" value="%osgiUtil"/>
<property name="org.eclipse.equinox.p2.description" value="%osgiUtilDes"/>
<property name="org.eclipse.equinox.p2.provider" value="%eclipse.org"/>
<property name="org.eclipse.equinox.p2.contact" value="www.eclipse.org"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.util"/>
<property name="maven-version" value="3.3.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util" version="3.3.100.v20150423-1351"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.util" version="3.3.100.v20150423-1351"/>
<provided namespace="java.package" name="org.osgi.util.measurement" version="1.0.1"/>
<provided namespace="java.package" name="org.osgi.util.position" version="1.0.1"/>
<provided namespace="java.package" name="org.osgi.util.xml" version="1.0.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="java.package" name="org.osgi.framework" range="1.1.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.util.measurement" range="[1.0.1,1.2.0)"/>
<required namespace="java.package" name="org.osgi.util.position" range="[1.0.1,1.2.0)"/>
<required namespace="java.package" name="org.osgi.util.xml" range="[1.0.1,1.2.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.util" version="3.3.100.v20150423-1351"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.util
Bundle-Version: 3.3.100.v20150423-1351
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.launching" version="1.1.200.v20160203-1238">
<update id="org.eclipse.ant.launching" range="[0.0.0,1.1.200.v20160203-1238)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Ant Launching Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.launching"/>
<property name="maven-version" value="1.1.200-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.launching" version="1.1.200.v20160203-1238"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.launching" version="1.1.200.v20160203-1238"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.debug" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.debug.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.remote" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.remote.inputhandler" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.remote.logger" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.launching.runtime.logger" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.launching" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.9.4"/>
<required namespace="osgi.bundle" name="org.eclipse.core.externaltools" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.launching" version="1.1.200.v20160203-1238"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.launching;singleton:=true
Bundle-Version: 1.1.200.v20160203-1238
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.operations.source" version="2.4.100.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.operations.source" range="[0.0.0,2.4.100.v20160317-1257)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Operations API Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.operations"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations.source" version="2.4.100.v20160317-1257"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations.source" version="2.4.100.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.operations.source" version="2.4.100.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.operations.source
Bundle-Version: 2.4.100.v20160317-1257
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.readmetool" version="3.4.0.v20160329-2017">
<update id="org.eclipse.ui.examples.readmetool" range="[0.0.0,3.4.0.v20160329-2017)" severity="0"/>
<properties size="8">
<property name="df_LT.Plugin.providerName" value="Eclipse.org"/>
<property name="df_LT.Plugin.name" value="Readme File Editing Tool"/>
<property name="org.eclipse.equinox.p2.name" value="%Plugin.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Plugin.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.readmetool"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.readmetool" version="3.4.0.v20160329-2017"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.readmetool" version="3.4.0.v20160329-2017"/>
<provided namespace="java.package" name="org.eclipse.ui.examples.readmetool" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.readmetool" version="3.4.0.v20160329-2017"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true
Bundle-Version: 3.4.0.v20160329-2017
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.services" version="3.5.0.v20150714-1510" singleton="false">
<update id="org.eclipse.osgi.services" range="[0.0.0,3.5.0.v20150714-1510)" severity="0"/>
<properties size="12">
<property name="df_LT.osgiServicesDes" value="OSGi Service Platform Release 4.2.0 Service Interfaces and Classes"/>
<property name="df_LT.osgiServices" value="OSGi Release 4.2.0 Services"/>
<property name="df_LT.eclipse.org" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%osgiServices"/>
<property name="org.eclipse.equinox.p2.description" value="%osgiServicesDes"/>
<property name="org.eclipse.equinox.p2.provider" value="%eclipse.org"/>
<property name="org.eclipse.equinox.p2.contact" value="www.eclipse.org"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.services"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="20">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.services" version="3.5.0.v20150714-1510"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.services" version="3.5.0.v20150714-1510"/>
<provided namespace="java.package" name="org.osgi.service.cm" version="1.5.0"/>
<provided namespace="java.package" name="org.osgi.service.component" version="1.2.2"/>
<provided namespace="java.package" name="org.osgi.service.component.annotations" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.service.device" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.service.event" version="1.3.1"/>
<provided namespace="java.package" name="org.osgi.service.http" version="1.2.1"/>
<provided namespace="java.package" name="org.osgi.service.http.context" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.service.http.runtime" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.service.http.runtime.dto" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.service.http.whiteboard" version="1.0.0"/>
<provided namespace="java.package" name="org.osgi.service.log" version="1.3.0"/>
<provided namespace="java.package" name="org.osgi.service.metatype" version="1.3.0"/>
<provided namespace="java.package" name="org.osgi.service.provisioning" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.service.upnp" version="1.2.0"/>
<provided namespace="java.package" name="org.osgi.service.useradmin" version="1.1.0"/>
<provided namespace="java.package" name="org.osgi.service.wireadmin" version="1.0.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="java.package" name="org.osgi.service.useradmin" range="[1.1.0,1.2.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.framework.dto" range="1.8.0"/>
<required namespace="java.package" name="org.osgi.service.metatype" range="[1.3.0,1.4.0)"/>
<required namespace="java.package" name="org.osgi.service.wireadmin" range="[1.0.0,1.1.0)"/>
<required namespace="java.package" name="org.osgi.dto" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.http" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.provisioning" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.device" range="[1.1.0,1.2.0)"/>
<required namespace="java.package" name="org.osgi.service.upnp" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.cm" range="[1.5.0,1.6.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="[1.3.0,1.4.0)"/>
<required namespace="java.package" name="javax.servlet" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.event" range="[1.3.0,1.4.0)"/>
<required namespace="java.package" name="org.osgi.service.component" range="[1.2.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.component.annotations" range="[1.2.0,1.3.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.services" version="3.5.0.v20150714-1510"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.services
Bundle-Version: 3.5.0.v20150714-1510
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.linux.ppc" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.linux.ppc" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.linux.ppc" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.help.source" version="3.7.0.v20160407-1711" singleton="false">
<update id="org.eclipse.help.source" range="[0.0.0,3.7.0.v20160407-1711)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Help System Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.help"/>
<property name="maven-artifactId" value="org.eclipse.help"/>
<property name="maven-version" value="3.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.source" version="3.7.0.v20160407-1711"/>
<provided namespace="osgi.bundle" name="org.eclipse.help.source" version="3.7.0.v20160407-1711"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.help.source" version="3.7.0.v20160407-1711"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.help.source
Bundle-Version: 3.7.0.v20160407-1711
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.tools.feature.source.feature.group" version="4.5.100.v20160414-1751" singleton="false">
<update id="org.eclipse.e4.core.tools.feature.source.feature.group" range="[0.0.0,4.5.100.v20160414-1751)" severity="0"/>
<properties size="13">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.tools.feature"/>
<property name="maven-version" value="4.5.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 BestSolution.at, Soyatec and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;BestSolution.at - initial API and implementation&#10;Soytec - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse e4 Tools Developer Resources"/>
<property name="df_LT.description" value="Eclipse e4 Model Tooling"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.source.feature.group" version="4.5.100.v20160414-1751"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.feature.group" range="[4.5.100.v20160414-1751,4.5.100.v20160414-1751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.editor3x.source" range="[4.5.0.v20151104-1536,4.5.0.v20151104-1536]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.emf.ui.source" range="[4.5.0.v20160414-1751,4.5.0.v20160414-1751]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.compat.source" range="[4.5.0.v20160122-0831,4.5.0.v20160122-0831]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.services.source" range="[4.5.0.v20160211-2017,4.5.0.v20160211-2017]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.source" range="[4.5.0.v20160308-2123,4.5.0.v20160308-2123]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.jdt.templates.source" range="[4.5.0.v20151112-0802,4.5.0.v20151112-0802]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.tools.feature.source.feature.jar" range="[4.5.100.v20160414-1751,4.5.100.v20160414-1751]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.win32.win32.x86_64.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.win32.win32.x86_64.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for Windows Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.win32.win32.x86_64"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.win32.win32.x86_64.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.win32.win32.x86_64.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.win32.win32.x86_64.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk" version="4.7.0.I20160417-1515">
<update id="org.eclipse.platform.sdk" range="[4.0.0,4.7.0.I20160417-1515)" severity="0" description="An update for 4.x generation Platform SDK"/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse Platform SDK"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="org.eclipse.equinox.p2.description" value="Initial Neon Release of the Platform SDK."/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="13">
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.configuration" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.configuration.macosx" range="[1.0.0,1.0.0]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.configuration" range="[1.0.0,1.0.0]">
<filter>
            (!(osgi.os=macosx))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.application" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="configure">
            addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:0,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);mkdir(path:${installFolder}/dropins);
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.

Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="org.eclipse.pde.ds.ui.source" version="1.1.0.v20160323-1149" singleton="false">
<update id="org.eclipse.pde.ds.ui.source" range="[0.0.0,1.1.0.v20160323-1149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE DS UI Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.ui.source" version="1.1.0.v20160323-1149"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.ui.source" version="1.1.0.v20160323-1149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.ui.source" version="1.1.0.v20160323-1149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.ui.source
Bundle-Version: 1.1.0.v20160323-1149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.renderers.swt.source" version="0.14.0.v20160414-0710" singleton="false">
<update id="org.eclipse.e4.ui.workbench.renderers.swt.source" range="[0.0.0,0.14.0.v20160414-0710)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse e4 Workbench SWT Renderer Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.renderers.swt"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt.source" version="0.14.0.v20160414-0710"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt.source" version="0.14.0.v20160414-0710"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.renderers.swt.source" version="0.14.0.v20160414-0710"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.renderers.swt.source
Bundle-Version: 0.14.0.v20160414-0710
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.search" version="3.11.0.v20160204-1117">
<update id="org.eclipse.search" range="[0.0.0,3.11.0.v20160204-1117)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Search Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.search"/>
<property name="maven-artifactId" value="org.eclipse.search"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="16">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search" version="3.11.0.v20160204-1117"/>
<provided namespace="osgi.bundle" name="org.eclipse.search" version="3.11.0.v20160204-1117"/>
<provided namespace="java.package" name="org.eclipse.search.core.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.internal.core.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.internal.ui.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.internal.ui.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.ui.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search.ui.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search2.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search2.internal.ui.basic.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search2.internal.ui.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.search2.internal.ui.text2" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="12">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.search" version="3.11.0.v20160204-1117"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.search; singleton:=true
Bundle-Version: 3.11.0.v20160204-1117
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.bidi.tests" version="1.0.0.v20160408-1433">
<update id="org.eclipse.equinox.bidi.tests" range="[0.0.0,1.0.0.v20160408-1433)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="BiDi tests"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.bidi.tests"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.bidi.tests" version="1.0.0.v20160408-1433"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.bidi.tests" version="1.0.0.v20160408-1433"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.internal.tests" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.bidi.tests" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.5.0"/>
<required namespace="osgi.bundle" name="org.junit" range="4.12.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.bidi.tests" version="1.0.0.v20160408-1433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.bidi.tests;singleton:=true
Bundle-Version: 1.0.0.v20160408-1433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390xorg.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390xorg.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390x" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="com.jcraft.jsch.source" version="0.1.53.v201508180515" singleton="false">
<update id="com.jcraft.jsch.source" range="[0.0.0,0.1.53.v201508180515)" severity="0"/>
<properties size="5">
<property name="df_LT.venderName" value="Eclipse Orbit"/>
<property name="df_LT.bundleName" value="JSch Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%venderName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="com.jcraft.jsch.source" version="0.1.53.v201508180515"/>
<provided namespace="osgi.bundle" name="com.jcraft.jsch.source" version="0.1.53.v201508180515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="com.jcraft.jsch.source" version="0.1.53.v201508180515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: com.jcraft.jsch.source
Bundle-Version: 0.1.53.v201508180515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.views.log" version="1.2.0.v20160329-1845">
<update id="org.eclipse.ui.views.log" range="[0.0.0,1.2.0.v20160329-1845)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="Log View"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views.log"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.log" version="1.2.0.v20160329-1845"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views.log" version="1.2.0.v20160329-1845"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.views.log" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.3.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views.log" version="1.2.0.v20160329-1845"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views.log;singleton:=true
Bundle-Version: 1.2.0.v20160329-1845
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.useradmin" version="1.1.400.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.useradmin" range="[0.0.0,1.1.400.v20130327-1442)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="User Admin Service"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.useradmin"/>
<property name="maven-version" value="1.1.400-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.useradmin" version="1.1.400.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.useradmin" version="1.1.400.v20130327-1442"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.useradmin" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.0.0"/>
<required namespace="java.package" name="org.osgi.service.useradmin" range="[1.1.0,1.2.0)"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.1.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.useradmin" version="1.1.400.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.useradmin
Bundle-Version: 1.1.400.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.artifact.repository" version="1.1.500.v20160102-2223">
<update id="org.eclipse.equinox.p2.artifact.repository" range="[0.0.0,1.1.500.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Artifact Repository Support"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.artifact.repository"/>
<property name="maven-version" value="1.1.500-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.artifact.repository" version="1.1.500.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" version="1.1.500.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.processing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.processors.md5" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.processors.pack200" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.artifact.repository.simple" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="28">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.tukaani.xz" range="1.3.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.jobs" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.jarprocessor" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.persistence" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.internal.provisional.equinox.p2.jarprocessor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.signedcontent" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.1.1"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.artifact.repository" version="1.1.500.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true
Bundle-Version: 1.1.500.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench" version="1.4.0.v20160408-1229">
<update id="org.eclipse.e4.ui.workbench" range="[0.0.0,1.4.0.v20160408-1229)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 Workbench"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench" version="1.4.0.v20160408-1229"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" version="1.4.0.v20160408-1229"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.addons" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.handlers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.lifecycle" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.modeling" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.change" range="2.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi" range="2.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.3.0"/>
<required namespace="java.package" name="com.ibm.icu.text" range="3.8.1"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench" version="1.4.0.v20160408-1229"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench;singleton:=true
Bundle-Version: 1.4.0.v20160408-1229
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.metadata" version="2.3.100.v20160102-2223">
<update id="org.eclipse.equinox.p2.metadata" range="[0.0.0,2.3.100.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Metadata"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.metadata"/>
<property name="maven-version" value="2.3.100-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata" version="2.3.100.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" version="2.3.100.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.expression.parser" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.index" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.query" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.metadata" version="2.1.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.metadata.index" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.query" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.localization" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.metadata" version="2.3.100.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.metadata;singleton:=true
Bundle-Version: 2.3.100.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.solaris.x86_64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.solaris.x86_64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.solaris.x86_64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.s390org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.s390org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.s390" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.commons.io" version="2.2.0.v201405211200" singleton="false">
<update id="org.apache.commons.io" range="[0.0.0,2.2.0.v201405211200)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache Commons IO"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="Commons-IO contains utility classes, stream implementations, file filters, file comparators and endian classes."/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://commons.apache.org/io/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="10">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.commons.io" version="2.2.0.v201405211200"/>
<provided namespace="osgi.bundle" name="org.apache.commons.io" version="2.2.0.v201405211200"/>
<provided namespace="java.package" name="org.apache.commons.io" version="2.2.0"/>
<provided namespace="java.package" name="org.apache.commons.io.comparator" version="2.2.0"/>
<provided namespace="java.package" name="org.apache.commons.io.filefilter" version="2.2.0"/>
<provided namespace="java.package" name="org.apache.commons.io.input" version="2.2.0"/>
<provided namespace="java.package" name="org.apache.commons.io.monitor" version="2.2.0"/>
<provided namespace="java.package" name="org.apache.commons.io.output" version="2.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.commons.io" version="2.2.0.v201405211200"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.commons.io
Bundle-Version: 2.2.0.v201405211200
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.linux.x86" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.sdk.id" name="org.eclipse.rcp.sdk.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.sdk.id.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.debug.examples.core" version="1.4.0.v20150911-0751">
<update id="org.eclipse.debug.examples.core" range="[0.0.0,1.4.0.v20150911-0751)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Example Debug Core Plug-in"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.examples.core"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
</properties>
<provides size="13">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.core" version="1.4.0.v20150911-0751"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.examples.core" version="1.4.0.v20150911-0751"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.ant.tasks" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.midi.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda.protocol" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.core.pda.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.debug.examples.pdavm" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="3.2.800"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="3.9.0"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.9.2" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.examples.core" version="1.4.0.v20150911-0751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.examples.core;singleton:=true
Bundle-Version: 1.4.0.v20150911-0751
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ui" version="1.1.0.v20160403-0937">
<update id="org.eclipse.pde.api.tools.ui" range="[0.0.0,1.1.0.v20160403-0937)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="API Tools UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ui"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ui" version="1.1.0.v20160403-0937"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ui" version="1.1.0.v20160403-0937"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.completion" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.markers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.use" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.api.tools.ui.internal.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="24">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.10.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.600"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.6.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="[3.3.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.search" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="3.4.100"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.trace" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.manipulation" range="1.5.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="1.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.bidi" range="[0.10.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="3.6.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ui" version="1.1.0.v20160403-0937"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ui; singleton:=true
Bundle-Version: 1.1.0.v20160403-0937
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.databinding.observable" version="1.6.0.v20160331-0824" singleton="false">
<update id="org.eclipse.core.databinding.observable" range="[0.0.0,1.6.0.v20160331-0824)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JFace Data Binding Observables"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.databinding.observable"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.databinding.observable" version="1.6.0.v20160331-0824"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.databinding.observable" version="1.6.0.v20160331-0824"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable.list" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable.map" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable.masterdetail" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable.set" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.observable.value" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.databinding.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.identity" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.observable" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.databinding.observable.masterdetail" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.2.0,4.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="[1.4.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="[1.3.3,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="[1.0.0,2.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.databinding.observable" version="1.6.0.v20160331-0824"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.databinding.observable
Bundle-Version: 1.6.0.v20160331-0824
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.feature.group" version="3.12.0.v20160417-1515" singleton="false">
<update id="org.eclipse.jdt.feature.group" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.jdt.feature"/>
<property name="maven-artifactId" value="org.eclipse.jdt"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Java Development Tools"/>
<property name="df_LT.description" value="Eclipse Java development tools (binary runtime and user documentation)."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.group" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="26">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.ui" range="[3.6.200.v20160329-1410,3.6.200.v20160329-1410]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.core" range="[3.4.100.v20160405-1556,3.4.100.v20160405-1556]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.ui" range="[3.4.100.v20160128-1641,3.4.100.v20160128-1641]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.apt.pluggable.core" range="[1.1.100.v20160415-0647,1.1.100.v20160415-0647]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.apt" range="[1.2.100.v20160405-1556,1.2.100.v20160405-1556]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.compiler.tool" range="[1.1.100.v20160128-1641,1.1.100.v20160128-1641]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core" range="[3.12.0.v20160417-1322,3.12.0.v20160417-1322]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation" range="[1.1.100.v20140704-0625,1.1.100.v20140704-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.annotation" range="[2.1.0.v20160320-2244,2.1.0.v20160320-2244]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.manipulation" range="[1.7.0.v20151129-1935,1.7.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug.ui" range="[3.7.200.v20160415-1147,3.7.200.v20160415-1147]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug" range="[3.10.0.v20160414-0906,3.10.0.v20160414-0906]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit" range="[3.9.0.v20151129-1935,3.9.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.core" range="[3.8.0.v20160120-1732,3.8.0.v20160120-1732]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit.runtime" range="[3.4.500.v20151129-1935,3.4.500.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit4.runtime" range="[1.1.500.v20151129-1935,1.1.500.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching" range="[3.8.0.v20160414-0814,3.8.0.v20160414-0814]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.ui" range="[3.12.0.v20160415-1630,3.12.0.v20160415-1630]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.junit" range="[4.12.0.v201504281640,4.12.0.v201504281640]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.hamcrest.core" range="[1.3.0.v201303031735,1.3.0.v201303031735]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.doc.user" range="[3.12.0.v20160210-1032,3.12.0.v20160210-1032]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.macosx" range="[3.3.0.v20150313-0517,3.3.0.v20150313-0517]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.ui.macosx" range="[1.1.0.v20160120-1304,1.1.0.v20160120-1304]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.launching" range="[1.1.200.v20160203-1238,1.1.200.v20160203-1238]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.jar" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.junit" version="3.9.0.v20151129-1935">
<update id="org.eclipse.jdt.junit" range="[0.0.0,3.9.0.v20151129-1935)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Java Development Tools JUnit support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.junit"/>
<property name="maven-version" value="3.9.0-SNAPSHOT"/>
</properties>
<provides size="12">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.junit" version="3.9.0.v20151129-1935"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.junit" version="3.9.0.v20151129-1935"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.buildpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.junit.wizards" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.junit.wizards" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="22">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.3.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.12.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.12.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" range="[3.4.100,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.2.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.ui.refactoring" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="com.ibm.icu" range="4.4.2"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.junit" version="3.9.0.v20151129-1935"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.junit;singleton:=true
Bundle-Version: 3.9.0.v20151129-1935
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.core" version="3.8.0.v20160404-1158">
<update id="org.eclipse.team.core" range="[0.0.0,3.8.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Team Support Core"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.core"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="21">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.core" version="3.8.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.core" version="3.8.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.diff" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.diff.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.history.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.importing.provisional" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.mapping.provider" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.subscribers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.synchronize" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.core.variants" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core.importing" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core.streams" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.internal.core.subscribers" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.1.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.compare.core" range="[3.5.200,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.core" version="3.8.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.core; singleton:=true
Bundle-Version: 3.8.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.x86" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.examples.contributions" version="3.4.0.v20160401-0528">
<update id="org.eclipse.ui.examples.contributions" range="[0.0.0,3.4.0.v20160401-0528)" severity="0"/>
<properties size="8">
<property name="df_LT.contributions.Activator.name" value="Command Contribution Examples"/>
<property name="df_LT.contributions.Activator.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%contributions.Activator.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%contributions.Activator.providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.examples.contributions"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.examples.contributions" version="3.4.0.v20160401-0528"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.examples.contributions" version="3.4.0.v20160401-0528"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.3.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.examples.contributions" version="3.4.0.v20160401-0528"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.examples.contributions; singleton:=true
Bundle-Version: 3.4.0.v20160401-0528
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.serverside.sdk.feature.jar" version="3.12.0.v20160413-1503">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2009 EclipseSource and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;EclipseSource - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox Server-side SDK"/>
<property name="df_LT.description" value="All of the bundles that make up the Equinox server-side OSGi support including basic, Jetty and servlet-bridge based HTTP service implementations.&#10;This feature includes the corresponding source and is intended to be added to target platforms at development time rather than deployed with end-user systems."/>
<property name="df_LT.providerName" value="Eclipse Equinox Project"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.serverside.sdk"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.serverside.sdk.feature.jar" version="3.12.0.v20160413-1503"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.serverside.sdk" version="3.12.0.v20160413-1503"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.serverside.sdk" version="3.12.0.v20160413-1503"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.1.400.v20160102-2223">
<update id="org.eclipse.equinox.p2.touchpoint.eclipse" range="[0.0.0,2.1.400.v20160102-2223)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Eclipse Touchpoint"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.touchpoint.eclipse"/>
<property name="maven-version" value="2.1.400-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.1.400.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.1.400.v20160102-2223"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.update" version="2.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.touchpoint.eclipse.query" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="34">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.engine" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.garbagecollector" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.frameworkadmin" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.repository" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.simpleconfigurator.manipulator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core.spi" range="[2.1.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.publisher.eclipse" range="0.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.3.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact.spi" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.service.datalocation" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.resolver" range="1.2.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.prefs" range="1.1.1"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.4.0"/>
<required namespace="java.package" name="org.w3c.dom" range="0.0.0"/>
<required namespace="java.package" name="org.xml.sax" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.touchpoint.eclipse" version="2.1.400.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.touchpoint.eclipse;singleton:=true
Bundle-Version: 2.1.400.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.views.log.source" version="1.2.0.v20160329-1845" singleton="false">
<update id="org.eclipse.ui.views.log.source" range="[0.0.0,1.2.0.v20160329-1845)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Log View Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.views.log"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.log.source" version="1.2.0.v20160329-1845"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.views.log.source" version="1.2.0.v20160329-1845"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.views.log.source" version="1.2.0.v20160329-1845"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.views.log.source
Bundle-Version: 1.2.0.v20160329-1845
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.discovery.feature.feature.jar" version="1.0.400.v20160129-1529">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2010 Tasktop Technologies and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;Tasktop Technologies - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2, Discovery UI support"/>
<property name="df_LT.description" value="All of the bundles that comprise Equinox p2 discovery. &#10;This feature is intended to be used by integrators building on discovery."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.discovery.feature"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.discovery.feature.feature.jar" version="1.0.400.v20160129-1529"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.discovery.feature" version="1.0.400.v20160129-1529"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.discovery.feature" version="1.0.400.v20160129-1529"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.swt.examples.launcher" version="3.105.0.v20151111-1312">
<update id="org.eclipse.swt.examples.launcher" range="[0.0.0,3.105.0.v20151111-1312)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin.SWTLauncherExample.name" value="SWT Launcher Example Plugin"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin.SWTLauncherExample.name"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.launcher"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.launcher" version="3.105.0.v20151111-1312"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.launcher" version="3.105.0.v20151111-1312"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.launcher" version="3.105.0.v20151111-1312"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.launcher; singleton:=true
Bundle-Version: 3.105.0.v20151111-1312
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.updatesite.source" version="1.0.500.v20150907-2149" singleton="false">
<update id="org.eclipse.equinox.p2.updatesite.source" range="[0.0.0,1.0.500.v20150907-2149)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Legacy Update Site Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.updatesite"/>
<property name="maven-version" value="1.0.500-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatesite.source" version="1.0.500.v20150907-2149"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.updatesite.source" version="1.0.500.v20150907-2149"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.updatesite.source" version="1.0.500.v20150907-2149"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.updatesite.source
Bundle-Version: 1.0.500.v20150907-2149
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.configuration_root.gtk.aix.ppc64" version="1.0.200.v20160417-1515">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.configuration_root.gtk.aix.ppc64" version="1.0.200.v20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.configuration_root.gtk.aix.ppc64" version="1.0.200.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide" version="4.7.0.I20160417-1515">
<update id="org.eclipse.sdk.ide" range="[4.0.0,4.7.0.I20160417-1515)" severity="0" description="An update for 4.x generation Eclipse SDK."/>
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="Eclipse SDK"/>
<property name="org.eclipse.equinox.p2.type.product" value="true"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="org.eclipse.equinox.p2.description" value="Initial Neon Release of the Eclipse SDK."/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="12">
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.org.eclipse.update.feature.default" range="[1.0.0,1.0.0]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.configuration.macosx" range="[1.0.0,1.0.0]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.source.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.application" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.configuration" range="[1.0.0,1.0.0]">
<filter>
            (!(osgi.os=macosx))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.source.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="config.a.jre.javase" range="[1.6.0,1.6.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="tooling.osgi.bundle.default" range="[1.0.0,1.0.0]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.configuration" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="configure">
            addRepository(type:0,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:1,location:http${#58}//download.eclipse.org/eclipse/updates/4.7,name:The Eclipse Project Updates);addRepository(type:0,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/neon,name:Neon);mkdir(path:${installFolder}/dropins);
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="http://eclipse.org/legal/epl/notice.php" url="http://eclipse.org/legal/epl/notice.php">
          Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, "Program" will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository ("Repository") in software modules ("Modules") and made available
as downloadable archives ("Downloads").

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),
      plug-in fragments ("Fragments"), and features ("Features").
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named "plugins".
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named "features".
      Within a Feature, files named "feature.xml" may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features ("Included Features"). Within a Feature, files
      named "feature.xml" may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named "about.html" ("Abouts"). The terms and
conditions governing Features and Included Features should be contained
in files named "license.html" ("Feature Licenses"). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named "src" of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license ("Feature
Update License") during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the "license" property of files named "feature.properties" found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.


Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively "Installable Software"). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur ("Provisioning Process") in which a user may execute
       the Provisioning Technology on a machine ("Target Machine") with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software ("Installable Software Agreement") and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country's laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
        </license>
</licenses>
</unit>
<unit id="org.eclipse.core.net.source" version="1.3.0.v20160404-1158" singleton="false">
<update id="org.eclipse.core.net.source" range="[0.0.0,1.3.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Internet Connection Management Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.net"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.source" version="1.3.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.net.source" version="1.3.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.net.source" version="1.3.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.net.source
Bundle-Version: 1.3.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.workbench.renderers.swt" version="0.14.0.v20160414-0710">
<update id="org.eclipse.e4.ui.workbench.renderers.swt" range="[0.0.0,0.14.0.v20160414-0710)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse e4 Workbench SWT Renderer"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.workbench.renderers.swt"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.workbench.renderers.swt" version="0.14.0.v20160414-0710"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.renderers.swt" version="0.14.0.v20160414-0710"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.internal.workbench.renderers.swt" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.workbench.renderers.swt" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="25">
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.1.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.swt" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.workbench.swt" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi.services" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.bindings" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.200,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt.theme" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.di" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="2.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.ui.css.swt" range="0.11.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" range="0.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="3.5.200"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.w3c.dom.css" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.workbench.renderers.swt" version="0.14.0.v20160414-0710"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.workbench.renderers.swt;singleton:=true
Bundle-Version: 0.14.0.v20160414-0710
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.jetty" version="3.3.0.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.http.jetty" range="[0.0.0,3.3.0.v20160324-1850)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleName" value="Jetty Http Service"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.jetty"/>
<property name="maven-version" value="3.3.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.jetty" version="3.3.0.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.jetty" version="3.3.0.v20160324-1850"/>
<provided namespace="java.package" name="org.eclipse.equinox.http.jetty" version="1.3.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="17">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,4.0.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.6.0,4.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.http.servlet" range="[1.2.0,2.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.http" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.server" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.handler" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.nio" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.server.session" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.servlet" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.util" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.component" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.log" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.ssl" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.eclipse.jetty.util.thread" range="[9.0.0,10.0.0)"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.startlevel" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.jetty" version="3.3.0.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.jetty
Bundle-Version: 3.3.0.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.rcp.id.executable.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.2.200.v20160317-1257" singleton="false">
<update id="org.eclipse.equinox.p2.rcp.feature.feature.group" range="[0.0.0,1.2.200.v20160317-1257)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.rcp.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2011, 2013 EclipseSource Inc. and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Equinox p2, minimal support for RCP applications"/>
<property name="df_LT.description" value="Provides the minimal set of p2 bundles to use in RCP applications."/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.core.feature.feature.group" range="[1.3.200.v20160317-1257,1.3.200.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui" range="[2.4.100.v20160317-1257,2.4.100.v20160317-1257]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.scheduler" range="[1.2.100.v20150907-2149,1.2.100.v20150907-2149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.updatechecker" range="[1.1.200.v20131119-0908,1.1.200.v20131119-0908]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk" range="[1.0.400.v20150423-1455,1.0.400.v20150423-1455]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.rcp.feature.feature.jar" range="[1.2.200.v20160317-1257,1.2.200.v20160317-1257]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.debug" version="3.10.0.v20160414-0906">
<update id="org.eclipse.jdt.debug" range="[0.0.0,3.10.0.v20160414-0906)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JDI Debug Model"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.debug"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.debug" version="3.10.0.v20160414-0906"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.debug" version="3.10.0.v20160414-0906"/>
<provided namespace="java.package" name="com.sun.jdi" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.jdi.connect" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.jdi.connect.spi" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.jdi.event" version="0.0.0"/>
<provided namespace="java.package" name="com.sun.jdi.request" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.hcr" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal.connect" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal.event" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal.jdwp" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal.request" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdi.internal.spy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.debug.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core.breakpoints" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core.hcr" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core.logicalstructures" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.core.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.eval" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.eval.ast.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.debug.eval.ast.instructions" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.9.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.debug" version="3.10.0.v20160414-0906"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.debug; singleton:=true
Bundle-Version: 3.10.0.v20160414-0906
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.aix.ppc" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.aix.ppc" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.aix.ppc" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable_root.gtk.linux.ppc64" version="3.6.300.v20160414-1953">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc64" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.equinox.executable_root.gtk.linux.ppc64" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="2">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder});
          </instruction>
</instructions>
<instructions size="1">
<instruction key="install">
            chmod(targetDir:${installFolder}, targetFile:launcher, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.linux.s390" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.linux.s390" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.source.feature.group" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.ecore.source.feature.group" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="8">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="df_LT.featureName" value="Source for EMF - Eclipse Modeling Framework Core Runtime"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="Generated source feature. The original description is:&#10;&#10;The core runtime for EMF, including EMF's common utilities, Ecore, XML/XMI persistence, and the change model."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source.feature.group" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="4">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.xmi.source" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.change.source" range="[2.11.0.v20160315-0423,2.11.0.v20160315-0423]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.source.feature.jar" range="[2.12.0.v20160315-0423,2.12.0.v20160315-0423]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="org.eclipse.emf.ecore.feature.jar" version="2.12.0.v20160315-0423">
<properties size="7">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.featureName" value="EMF - Eclipse Modeling Framework Core Runtime"/>
<property name="df_LT.providerName" value="Eclipse Modeling Project"/>
<property name="df_LT.description" value="The core runtime for EMF, including EMF's common utilities, Ecore, XML/XMI persistence, and the change model."/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;- Content may be structured and packaged into modules to facilitate delivering,&#10;extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;in a directory named &quot;plugins&quot;.&#10;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;- The top-level (root) directory&#10;- Plug-in and Fragment directories&#10;- Inside Plug-ins and Fragments packaged as JARs&#10;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;extending or updating the functionality of an Eclipse-based product.&#10;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;with the Specification. Such Installable Software Agreement must inform the user of the&#10;terms and conditions that govern the Installable Software and must solicit acceptance by&#10;the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;indication of agreement by the user, the provisioning Technology will complete installation&#10;of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.feature.jar" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.emf.ecore" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright uri="http://www.eclipse.org/legal/epl-v10.html" url="http://www.eclipse.org/legal/epl-v10.html">
        Copyright (c) 2014 Dennis Huebner and others.
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
      </copyright>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.config.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.sdk.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.compatibility.plugins" version="1.0.0.v20131023-1243" singleton="false">
<update id="org.eclipse.osgi.compatibility.plugins" range="[0.0.0,1.0.0.v20131023-1243)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.Bundle-Name" value="Equinox Compatibility Fragment for Eclipse 2.0 Plugins"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.compatibility.plugins"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.compatibility.plugins" version="1.0.0.v20131023-1243"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.compatibility.plugins" version="1.0.0.v20131023-1243"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.osgi" version="1.0.0.v20131023-1243"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="3.10.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.compatibility.plugins" version="1.0.0.v20131023-1243"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.compatibility.plugins
Bundle-Version: 1.0.0.v20131023-1243
Fragment-Host: org.eclipse.osgi;bundle-version="3.10.0"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.ppc64leorg.eclipse.equinox.common" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.ppc64le" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.8.0.v20160324-1850"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ui.templates.source" version="3.6.0.v20160414-0914" singleton="false">
<update id="org.eclipse.pde.ui.templates.source" range="[0.0.0,3.6.0.v20160414-0914)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE Templates Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ui.templates"/>
<property name="maven-version" value="3.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.templates.source" version="3.6.0.v20160414-0914"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ui.templates.source" version="3.6.0.v20160414-0914"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ui.templates.source" version="3.6.0.v20160414-0914"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ui.templates.source
Bundle-Version: 3.6.0.v20160414-0914
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20130327-1442" singleton="false">
<update id="org.eclipse.equinox.http.servletbridge.source" range="[0.0.0,1.0.300.v20130327-1442)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Servletbridge Http Service Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.http.servletbridge"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20130327-1442"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20130327-1442"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.http.servletbridge.source" version="1.0.300.v20130327-1442"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.http.servletbridge.source
Bundle-Version: 1.0.300.v20130327-1442
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.ecore.xmi.source" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.ecore.xmi.source" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="EMF XML/XMI Persistence Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Modeling Project"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.ecore.xmi.source" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.ecore.xmi.source" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.ecore.xmi.source" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.ecore.xmi.source
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.ds.annotations.source" version="1.0.0.v20160407-2125" singleton="false">
<update id="org.eclipse.pde.ds.annotations.source" range="[0.0.0,1.0.0.v20160407-2125)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Declarative Services Annotations Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.ds.annotations"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.annotations.source" version="1.0.0.v20160407-2125"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.ds.annotations.source" version="1.0.0.v20160407-2125"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.ds.annotations.source" version="1.0.0.v20160407-2125"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.ds.annotations.source
Bundle-Version: 1.0.0.v20160407-2125
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.tests.feature.jar" version="4.7.0.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Tests"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.tests"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.tests.feature.jar" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.sdk.tests" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.debug.examples.core.source" version="1.4.0.v20150911-0751" singleton="false">
<update id="org.eclipse.debug.examples.core.source" range="[0.0.0,1.4.0.v20150911-0751)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Example Debug Core Plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.debug"/>
<property name="maven-artifactId" value="org.eclipse.debug.examples.core"/>
<property name="maven-version" value="1.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.examples.core.source" version="1.4.0.v20150911-0751"/>
<provided namespace="osgi.bundle" name="org.eclipse.debug.examples.core.source" version="1.4.0.v20150911-0751"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.debug.examples.core.source" version="1.4.0.v20150911-0751"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.debug.examples.core.source
Bundle-Version: 1.4.0.v20150911-0751
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.console.ssh.source" version="1.0.100.v20131208-1728" singleton="false">
<update id="org.eclipse.equinox.console.ssh.source" range="[0.0.0,1.0.100.v20131208-1728)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Console ssh support plug-in Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.console.ssh"/>
<property name="maven-version" value="1.0.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.console.ssh.source" version="1.0.100.v20131208-1728"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.console.ssh.source" version="1.0.100.v20131208-1728"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.console.ssh.source" version="1.0.100.v20131208-1728"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.console.ssh.source
Bundle-Version: 1.0.100.v20131208-1728
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.ppc64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.feature.group" version="3.12.0.v20160417-1515" singleton="false">
<update id="org.eclipse.pde.feature.group" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.pde.feature"/>
<property name="maven-artifactId" value="org.eclipse.pde"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse Plug-in Development Environment"/>
<property name="df_LT.description" value="Eclipse plug-in development environment."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.feature.group" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="23">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.feature.group" range="[3.12.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.build" range="[3.9.200.v20160204-0642,3.9.200.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.core" range="[3.11.0.v20160406-0848,3.11.0.v20160406-0848]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.junit.runtime" range="[3.5.0.v20151013-0625,3.5.0.v20151013-0625]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.runtime" range="[3.5.0.v20160331-1846,3.5.0.v20160331-1846]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui" range="[3.9.0.v20160415-1056,3.9.0.v20160415-1056]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.doc.user" range="[3.12.0.v20160315-1026,3.12.0.v20160315-1026]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ui.templates" range="[3.6.0.v20160414-0914,3.6.0.v20160414-0914]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.log" range="[1.2.0.v20160329-1845,1.2.0.v20160329-1845]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm" range="[5.0.1.v201404251740,5.0.1.v201404251740]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm.tree" range="[5.0.1.v201404251740,5.0.1.v201404251740]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools" range="[1.1.0.v20160411-1552,1.1.0.v20160411-1552]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.annotations" range="[1.0.100.v20160204-0642,1.0.100.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ui" range="[1.1.0.v20160403-0937,1.1.0.v20160403-0937]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.core" range="[1.1.0.v20151201-1325,1.1.0.v20151201-1325]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.ui" range="[1.1.0.v20160323-1149,1.1.0.v20160323-1149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.launching" range="[3.6.400.v20160121-1248,3.6.400.v20160121-1248]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.core" range="[1.0.500.v20160204-0642,1.0.500.v20160204-0642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ua.ui" range="[1.1.0.v20160323-1149,1.1.0.v20160323-1149]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.trace" range="[1.0.300.v20150911-1533,1.0.300.v20150911-1533]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.ds.annotations" range="[1.0.0.v20160407-2125,1.0.0.v20160407-2125]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.feature.jar" range="[3.12.0.v20160417-1515,3.12.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.pde.launching.source" version="3.6.400.v20160121-1248" singleton="false">
<update id="org.eclipse.pde.launching.source" range="[0.0.0,3.6.400.v20160121-1248)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="PDE Launching Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.launching"/>
<property name="maven-version" value="3.6.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.launching.source" version="3.6.400.v20160121-1248"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.launching.source" version="3.6.400.v20160121-1248"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.launching.source" version="3.6.400.v20160121-1248"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.launching.source
Bundle-Version: 3.6.400.v20160121-1248
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.executable.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.aix.ppc64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.examples.filesystem" version="3.5.0.v20160323-1650">
<update id="org.eclipse.team.examples.filesystem" range="[0.0.0,3.5.0.v20160323-1650)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Team File System Example"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.examples.filesystem"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="15">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.examples.filesystem" version="3.5.0.v20160323-1650"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.examples.filesystem" version="3.5.0.v20160323-1650"/>
<provided namespace="java.package" name="org.eclipse.team.examples.filesystem" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.filesystem.history" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.filesystem.subscriber" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.filesystem.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.localhistory" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.model.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.model.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.model.ui.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.pessimistic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.examples.pessimistic.ui" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="13">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.examples.filesystem" version="3.5.0.v20160323-1650"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.examples.filesystem; singleton:=true
Bundle-Version: 3.5.0.v20160323-1650
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.emf.xpath" version="0.1.100.v20151005-1655" singleton="false">
<update id="org.eclipse.e4.emf.xpath" range="[0.0.0,0.1.100.v20151005-1655)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Eclipse Model Xpath"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.emf.xpath"/>
<property name="maven-version" value="0.1.100-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.emf.xpath" version="0.1.100.v20151005-1655"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.emf.xpath" version="0.1.100.v20151005-1655"/>
<provided namespace="java.package" name="org.eclipse.e4.emf.internal.xpath" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.emf.internal.xpath.helper" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.emf.xpath" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.apache.commons.jxpath" range="1.2.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="2.6.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.emf.xpath" version="0.1.100.v20151005-1655"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.emf.xpath
Bundle-Version: 0.1.100.v20151005-1655
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="1.1.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher.gtk.aix.ppc" version="1.1.200.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="1.1.200.v20160324-1534"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:--launcher.library);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:--launcher.library);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423" singleton="false">
<update id="org.eclipse.emf.common.source" range="[0.0.0,2.12.0.v20160315-0423)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="EMF Common Source"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Modeling Project"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423"/>
<provided namespace="osgi.bundle" name="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.emf.common.source" version="2.12.0.v20160315-0423"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.emf.common.source
Bundle-Version: 2.12.0.v20160315-0423
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.source" version="1.6.0.v20160217-2331" singleton="false">
<update id="org.eclipse.core.filesystem.source" range="[0.0.0,1.6.0.v20160217-2331)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Core File Systems Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem"/>
<property name="maven-version" value="1.6.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.source" version="1.6.0.v20160217-2331"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.source" version="1.6.0.v20160217-2331"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.source" version="1.6.0.v20160217-2331"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.source
Bundle-Version: 1.6.0.v20160217-2331
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ant.ui" version="3.6.200.v20160329-1410">
<update id="org.eclipse.ant.ui" range="[0.0.0,3.6.200.v20160329-1410)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Ant UI"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ant"/>
<property name="maven-artifactId" value="org.eclipse.ant.ui"/>
<property name="maven-version" value="3.6.200-SNAPSHOT"/>
</properties>
<provides size="25">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.ui" version="3.6.200.v20160329-1410"/>
<provided namespace="osgi.bundle" name="org.eclipse.ant.ui" version="3.6.200.v20160329-1410"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.console" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.datatransfer" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.debug.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.dtd" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.dtd.schema" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.dtd.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.formatter" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.outline" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.templates" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.editor.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.launchConfigurations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.preferences" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.refactoring" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.views" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.internal.ui.views.actions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ant.ui.launching" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="27">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="[3.5.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="[3.5.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.apache.ant" range="1.9.4"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.externaltools" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.console" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.ui" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug.ui" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ltk.core.refactoring" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.launching" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.externaltools" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.text" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ant.ui" version="3.6.200.v20160329-1410"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ant.ui; singleton:=true
Bundle-Version: 3.6.200.v20160329-1410
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.extras.feature.source.feature.jar" version="1.2.200.v20160317-1257">
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2008, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Equinox p2 RCP Management Facilities"/>
<property name="df_LT.description" value="Source code for the Equinox provisioning platform"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.extras.feature"/>
<property name="maven-version" value="1.2.200-SNAPSHOT"/>
<property name="maven-classifier" value="sources-feature"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.extras.feature.source.feature.jar" version="1.2.200.v20160317-1257"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.p2.extras.feature.source" version="1.2.200.v20160317-1257"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.p2.extras.feature.source" version="1.2.200.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.e4.tools.jdt.templates.source" version="4.5.0.v20151112-0802" singleton="false">
<update id="org.eclipse.e4.tools.jdt.templates.source" range="[0.0.0,4.5.0.v20151112-0802)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="e4 JDT code templates Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.jdt.templates"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.jdt.templates.source" version="4.5.0.v20151112-0802"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.jdt.templates.source" version="4.5.0.v20151112-0802"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.jdt.templates.source" version="4.5.0.v20151112-0802"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.jdt.templates.source
Bundle-Version: 4.5.0.v20151112-0802
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.runtime" version="3.12.0.v20160329-1217">
<update id="org.eclipse.core.runtime" range="[0.0.0,3.12.0.v20160329-1217)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Core Runtime"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.runtime"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="7">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" version="3.12.0.v20160329-1217"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.runtime" version="3.12.0.v20160329-1217"/>
<provided namespace="java.package" name="org.eclipse.core.internal.preferences.legacy" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.internal.runtime" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.core.runtime" version="3.5.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="8">
<required namespace="osgi.bundle" name="javax.inject" range="1.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.8.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.preferences" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.contenttype" range="[3.3.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.app" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.runtime" version="3.12.0.v20160329-1217"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.runtime; singleton:=true
Bundle-Version: 3.12.0.v20160329-1217
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.sdk.ide.ini.gtk.aix.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms256m);addJvmArg(jvmArg:-Xmx1024m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms256m);removeJvmArg(jvmArg:-Xmx1024m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.util" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.util" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Utilities"/>
<property name="org.eclipse.equinox.p2.description" value="Jetty module for Jetty :: Utilities"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse Jetty Project"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://www.eclipse.org/jetty"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.util" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.util" version="9.3.5.v20151012"/>
<provided namespace="java.package" name="org.eclipse.jetty.util" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.annotation" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.component" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.log" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.preventers" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.resource" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.security" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.ssl" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.statistic" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.thread" version="9.3.5"/>
<provided namespace="java.package" name="org.eclipse.jetty.util.thread.strategy" version="9.3.5"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="java.package" name="javax.servlet" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.servlet.http" range="[2.6.0,3.2.0)"/>
<required namespace="java.package" name="javax.imageio" range="0.0.0"/>
<required namespace="java.package" name="javax.naming" range="0.0.0"/>
<required namespace="java.package" name="javax.naming.ldap" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
<required namespace="java.package" name="javax.security.auth.x500" range="0.0.0"/>
<required namespace="java.package" name="javax.xml.parsers" range="0.0.0"/>
<required namespace="java.package" name="org.slf4j" range="[1.6.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.slf4j.helpers" range="[1.6.0,2.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.slf4j.spi" range="[1.6.0,2.0.0)" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.util" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.util
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.ee.osgiminimum12" version="1.0.300.v20130327-1631" singleton="false">
<update id="org.eclipse.pde.api.tools.ee.osgiminimum12" range="[0.0.0,1.0.300.v20130327-1631)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="OSGi/Minimum-1.2 Execution Environment Description"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragmentosgiminimum12"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools.ee.osgiminimum12"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.ee.osgiminimum12" version="1.0.300.v20130327-1631"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.ee.osgiminimum12" version="1.0.300.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.pde.api.tools" version="1.0.300.v20130327-1631"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.pde.api.tools" range="1.0.300"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.ee.osgiminimum12" version="1.0.300.v20130327-1631"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.ee.osgiminimum12
Bundle-Version: 1.0.300.v20130327-1631
Fragment-Host: org.eclipse.pde.api.tools;bundle-version="1.0.300"
          </instruction>
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.p2.reconciler.dropins" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.reconciler.dropins" range="1.1.300.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.workbench.source" version="3.108.0.v20160415-1433" singleton="false">
<update id="org.eclipse.ui.workbench.source" range="[0.0.0,3.108.0.v20160415-1433)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Workbench Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.workbench"/>
<property name="maven-version" value="3.108.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.source" version="3.108.0.v20160415-1433"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.workbench.source" version="3.108.0.v20160415-1433"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.workbench.source" version="3.108.0.v20160415-1433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.workbench.source
Bundle-Version: 3.108.0.v20160415-1433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.executable.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86_64" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.continuation.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.continuation.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Continuation"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.continuation.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.continuation.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.continuation.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.continuation.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.junit.runtime" version="3.5.0.v20151013-0625">
<update id="org.eclipse.pde.junit.runtime" range="[0.0.0,3.5.0.v20151013-0625)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="PDE JUnit Runtime Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.junit.runtime"/>
<property name="maven-version" value="3.5.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.junit.runtime" version="3.5.0.v20151013-0625"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.junit.runtime" version="3.5.0.v20151013-0625"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.junit.runtime" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.2"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.2.0,4.0.0)" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.ui.testing" range="0.0.0" optional="true" greedy="false"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.junit.runtime" version="3.5.0.v20151013-0625"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.junit.runtime; singleton:=true
Bundle-Version: 3.5.0.v20151013-0625
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.di.extensions" version="0.14.0.v20160211-1614">
<update id="org.eclipse.e4.core.di.extensions" range="[0.0.0,0.14.0.v20160211-1614)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Dependency Injection Extensions"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.di.extensions"/>
<property name="maven-version" value="0.14.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.di.extensions" version="0.14.0.v20160211-1614"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.di.extensions" version="0.14.0.v20160211-1614"/>
<provided namespace="java.package" name="org.eclipse.e4.core.di.extensions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.core.di.internal.extensions" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.5.1"/>
<required namespace="java.package" name="javax.annotation" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.core.runtime.preferences" range="3.3.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.8.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="1.3.1"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.di.extensions" version="0.14.0.v20160211-1614"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.di.extensions;singleton:=true
Bundle-Version: 0.14.0.v20160211-1614
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.operations" version="2.4.100.v20160317-1257">
<update id="org.eclipse.equinox.p2.operations" range="[0.0.0,2.4.100.v20160317-1257)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Provisioning Operations API"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.operations"/>
<property name="maven-version" value="2.4.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.operations" version="2.4.100.v20160317-1257"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.operations" version="2.4.100.v20160317-1257"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.p2.operations" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.p2.operations" version="2.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="21">
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.jobs" range="3.5.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.core.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.metadata.query" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.p2.repository.helpers" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.configurator" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.core.eventbus" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.provisional.p2.director" range="0.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.engine.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.metadata.expression" range="2.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.planner" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.query" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.artifact" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.equinox.p2.repository.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.4.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.operations" version="2.4.100.v20160317-1257"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.operations;singleton:=true
Bundle-Version: 2.4.100.v20160317-1257
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.tests.core" version="3.8.0.v20160404-1158">
<update id="org.eclipse.team.tests.core" range="[0.0.0,3.8.0.v20160404-1158)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Team Core Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.tests.core"/>
<property name="maven-version" value="3.8.0-SNAPSHOT"/>
</properties>
<provides size="9">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.tests.core" version="3.8.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.tests.core" version="3.8.0.v20160404-1158"/>
<provided namespace="java.package" name="org.eclipse.team.tests.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.core.mapping" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.core.regression" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.team.tests.ui.synchronize" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="19">
<required namespace="osgi.bundle" name="org.eclipse.ui.ide" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.views" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench.texteditor" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="0.0.0" optional="true" greedy="false"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.harness" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.core" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.team.cvs.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.tests.resources" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.navigator" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.compare.tests" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.tests.core" version="3.8.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.tests.core; singleton:=true
Bundle-Version: 3.8.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.id.executable.gtk.aix.ppc" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.core.filesystem.aix.ppc" version="1.1.0.v20140124-1940">
<update id="org.eclipse.core.filesystem.aix.ppc" range="[0.0.0,1.1.0.v20140124-1940)" severity="0"/>
<properties size="8">
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="df_LT.fragmentName" value="Core File System for AIX PPC"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment"/>
<property name="maven-groupId" value="org.eclipse.core"/>
<property name="maven-artifactId" value="org.eclipse.core.filesystem.aix.ppc"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.aix.ppc" version="1.1.0.v20140124-1940"/>
<provided namespace="osgi.bundle" name="org.eclipse.core.filesystem.aix.ppc" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.core.filesystem" version="1.1.0.v20140124-1940"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.3.0,2.0.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.core.filesystem.aix.ppc" version="1.1.0.v20140124-1940"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.core.filesystem.aix.ppc;singleton:=true
Bundle-Version: 1.1.0.v20140124-1940
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.3.0,2.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.trace" version="1.0.300.v20150911-1533">
<update id="org.eclipse.ui.trace" range="[0.0.0,1.0.300.v20150911-1533)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Dynamic Tracing Enablement UI"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.trace"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.trace" version="1.0.300.v20150911-1533"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.trace" version="1.0.300.v20150911-1533"/>
<provided namespace="java.package" name="org.eclipse.ui.trace.internal" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.trace.internal.datamodel" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.trace.internal.providers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.ui.trace.internal.utils" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="3">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.6.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.trace" version="1.0.300.v20150911-1533"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.trace;singleton:=true
Bundle-Version: 1.0.300.v20150911-1533
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.batik.util.source" version="1.7.0.v201011041433" singleton="false">
<update id="org.apache.batik.util.source" range="[0.0.0,1.7.0.v201011041433)" severity="0"/>
<properties size="5">
<property name="df_LT.pluginName" value="Apache Batik Utilities Source Bundle"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.batik.util.source" version="1.7.0.v201011041433"/>
<provided namespace="osgi.bundle" name="org.apache.batik.util.source" version="1.7.0.v201011041433"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.batik.util.source" version="1.7.0.v201011041433"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.batik.util.source
Bundle-Version: 1.7.0.v201011041433
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.id.ini.gtk.linux.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.rcp.id" name="org.eclipse.rcp.id.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx384m);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx384m);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.linux.x86org.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.linux.x86" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.sdk.ide" name="org.eclipse.sdk.ide.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.sdk.ide.executable.gtk.aix.ppc" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.equinox.executable.feature.jar" version="3.6.300.v20160414-1953">
<properties size="8">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.featureName" value="Eclipse Platform Launcher Executables"/>
<property name="df_LT.description" value="Platform specific launchers."/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.executable"/>
<property name="maven-version" value="3.6.300-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.jar" version="3.6.300.v20160414-1953"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.equinox.executable" version="3.6.300.v20160414-1953"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.equinox.executable" version="3.6.300.v20160414-1953"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
</unit>
<unit id="org.eclipse.ecf.core.ssl.feature.feature.jar" version="1.1.0.v20160312-0656">
<properties size="5">
<property name="org.eclipse.equinox.p2.name" value="ECF Core SSL Feature"/>
<property name="org.eclipse.equinox.p2.description" value="This feature provides the ECF core SSL fragment.  On Equinox-based frameworks, this fragment exposes the Equinox TrustManager to ECF FileTransfer and other ECF-based communications."/>
<property name="org.eclipse.equinox.p2.description.url" value="http://www.eclipse.org/ecf"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - ECF"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ecf.core.ssl.feature.feature.jar" version="1.1.0.v20160312-0656"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.ecf.core.ssl.feature" version="1.1.0.v20160312-0656"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.ecf.core.ssl.feature" version="1.1.0.v20160312-0656"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        Copyright (c) 2009 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
      </copyright>
</unit>
<unit id="org.eclipse.platform.doc.isv" version="4.7.0.v20160316-1653">
<update id="org.eclipse.platform.doc.isv" range="[0.0.0,4.7.0.v20160316-1653)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Platform Plug-in Developer Guide"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.platform"/>
<property name="maven-artifactId" value="org.eclipse.platform.doc.isv"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.doc.isv" version="4.7.0.v20160316-1653"/>
<provided namespace="osgi.bundle" name="org.eclipse.platform.doc.isv" version="4.7.0.v20160316-1653"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.help" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.platform.doc.isv" version="4.7.0.v20160316-1653"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.platform.doc.isv; singleton:=true
Bundle-Version: 4.7.0.v20160316-1653
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt" version="3.12.0.v20160417-1515">
<update id="org.eclipse.jdt" range="[0.0.0,3.12.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Java Development Tools"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt"/>
<property name="maven-version" value="3.12.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt" version="3.12.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt" version="3.12.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.cheatsheets" range="[3.2.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt" version="3.12.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt; singleton:=true
Bundle-Version: 3.12.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.equinox.launcher" version="1.3.200.v20160318-1642" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.3.200.v20160318-1642"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.equinox.launcher" version="1.3.200.v20160318-1642"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="tooling" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="1.3.200.v20160318-1642"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            addProgramArg(programArg:-startup);addProgramArg(programArg:@artifact);
          </instruction>
<instruction key="unconfigure">
            removeProgramArg(programArg:-startup);removeProgramArg(programArg:@artifact);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jdt.core.tests.performance" version="3.10.0.v20160412-0811" singleton="false">
<update id="org.eclipse.jdt.core.tests.performance" range="[0.0.0,3.10.0.v20160412-0811)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="JDT Core Performance Tests"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.core.tests.performance"/>
<property name="maven-version" value="3.10.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.core.tests.performance" version="3.10.0.v20160412-0811"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.performance" version="3.10.0.v20160412-0811"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.performance" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.jdt.core.tests.performance.util" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.builder" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.compiler" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.model" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.junit" range="3.8.1"/>
<required namespace="osgi.bundle" name="org.eclipse.test.performance" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core.tests.binaries" range="1.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.core.tests.performance" version="3.10.0.v20160412-0811"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.core.tests.performance
Bundle-Version: 3.10.0.v20160412-0811
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.config.gtk.linux.ppc64le" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.ide);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:4);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);setProgramProperty(propName:eclipse.buildId,propValue:4.7.0.I20160417-1515);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:osgi.bundles.defaultStartLevel,propValue:);setProgramProperty(propName:eclipse.application,propValue:);setProgramProperty(propName:eclipse.buildId,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.core.commands.tests" version="0.11.0.v20151005-1655">
<update id="org.eclipse.e4.core.commands.tests" range="[0.0.0,0.11.0.v20151005-1655)" severity="0"/>
<properties size="4">
<property name="org.eclipse.equinox.p2.name" value="Core commands Tests (Incubation)"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.core.commands.tests"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.core.commands.tests" version="0.11.0.v20151005-1655"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.core.commands.tests" version="0.11.0.v20151005-1655"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
</provides>
<requires size="10">
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.commands" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.junit" range="0.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="0.0.0"/>
<required namespace="java.package" name="javax.inject" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.e4.core.contexts" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.5.0"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.packageadmin" range="1.2.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.core.commands.tests" version="0.11.0.v20151005-1655"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.core.commands.tests;singleton:=true
Bundle-Version: 0.11.0.v20151005-1655
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.tools.jdt.templates" version="4.5.0.v20151112-0802">
<update id="org.eclipse.e4.tools.jdt.templates" range="[0.0.0,4.5.0.v20151112-0802)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="e4 JDT code templates"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="eclipse.platform.ui.tools"/>
<property name="maven-artifactId" value="org.eclipse.e4.tools.jdt.templates"/>
<property name="maven-version" value="4.5.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.tools.jdt.templates" version="4.5.0.v20151112-0802"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.tools.jdt.templates" version="4.5.0.v20151112-0802"/>
<provided namespace="java.package" name="org.eclipse.e4.internal.tools.jdt.templates" version="0.12.0.qualifier"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="5">
<required namespace="osgi.bundle" name="org.eclipse.jdt.ui" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.editors" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface.text" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="3.6.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.6.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.tools.jdt.templates" version="4.5.0.v20151112-0802"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.tools.jdt.templates;singleton:=true
Bundle-Version: 4.5.0.v20151112-0802
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.region" version="1.3.0.v20150929-2134" singleton="false">
<update id="org.eclipse.equinox.region" range="[0.0.0,1.3.0.v20150929-2134)" severity="0"/>
<properties size="7">
<property name="df_LT.Bundle-Name" value="Region Digraph"/>
<property name="df_LT.Bundle-Vendor" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%Bundle-Name"/>
<property name="org.eclipse.equinox.p2.provider" value="%Bundle-Vendor"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.region"/>
<property name="maven-version" value="1.3.0-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.region" version="1.3.0.v20150929-2134"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.region" version="1.3.0.v20150929-2134"/>
<provided namespace="java.package" name="org.eclipse.equinox.region" version="1.2.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.osgi" version="1.3.0.v20150929-2134"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.osgi" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.region" version="1.3.0.v20150929-2134"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.region
Bundle-Version: 1.3.0.v20150929-2134
Fragment-Host: system.bundle
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.ide.ini.gtk.linux.ppc64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.ide" name="org.eclipse.platform.ide.ini" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            addJvmArg(jvmArg:-Xms40m);addJvmArg(jvmArg:-Xmx512m);addProgramArg(programArg:-showsplash);addProgramArg(programArg:org.eclipse.platform);addProgramArg(programArg:--launcher.XXMaxPermSize);addProgramArg(programArg:256m);addProgramArg(programArg:--launcher.defaultAction);addProgramArg(programArg:openFile);addProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
<instruction key="unconfigure">
            removeJvmArg(jvmArg:-Xms40m);removeJvmArg(jvmArg:-Xmx512m);removeProgramArg(programArg:-showsplash);removeProgramArg(programArg:org.eclipse.platform);removeProgramArg(programArg:--launcher.XXMaxPermSize);removeProgramArg(programArg:256m);removeProgramArg(programArg:--launcher.defaultAction);removeProgramArg(programArg:openFile);removeProgramArg(programArg:--launcher.appendVmargs);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.metadata.repository.source" version="1.2.300.v20160102-2223" singleton="false">
<update id="org.eclipse.equinox.p2.metadata.repository.source" range="[0.0.0,1.2.300.v20160102-2223)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Metadata Repository Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.metadata.repository"/>
<property name="maven-version" value="1.2.300-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.metadata.repository.source" version="1.2.300.v20160102-2223"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository.source" version="1.2.300.v20160102-2223"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.metadata.repository.source" version="1.2.300.v20160102-2223"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository.source
Bundle-Version: 1.2.300.v20160102-2223
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.win32.win32.x86.source" version="3.105.0.v20160412-0750" singleton="false">
<update id="org.eclipse.swt.win32.win32.x86.source" range="[0.0.0,3.105.0.v20160412-0750)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Standard Widget Toolkit for Windows Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.win32.win32.x86"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.win32.win32.x86.source" version="3.105.0.v20160412-0750"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.win32.win32.x86.source" version="3.105.0.v20160412-0750"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.win32.win32.x86.source" version="3.105.0.v20160412-0750"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.win32.win32.x86.source
Bundle-Version: 3.105.0.v20160412-0750
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.sdk.id.executable.gtk.linux.s390x" range="[4.7.0.I20160417-1515,4.7.0.I20160417-1515]"/>
</requires>
<filter>
        (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="uninstall">
            cleanupzip(source:@artifact, target:${installFolder});
          </instruction>
<instruction key="install">
            unzip(source:@artifact, target:${installFolder}); chmod(targetDir:${installFolder}, targetFile:icon.xpm, permissions:755); chmod(targetDir:${installFolder}, targetFile:eclipse, permissions:755);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.feature.group" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.platform.feature.group" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="12">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.platform.feature"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2015 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html"/>
<property name="df_LT.featureName" value="Eclipse Platform"/>
<property name="df_LT.description" value="Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.group" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="75">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp.feature.group" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.user.ui.feature.group" range="[2.2.200.v20160317-1257,2.2.200.v20160317-1257]" optional="true"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.help.feature.group" range="[2.2.0.v20160417-1515,2.2.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.apache.ant" range="[1.9.6.v201510161327,1.9.6.v201510161327]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ant.core" range="[3.4.0.v20160301-1403,3.4.0.v20160301-1403]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="com.jcraft.jsch" range="[0.1.53.v201508180515,0.1.53.v201508180515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.core" range="[3.6.0.v20160404-1158,3.6.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare" range="[3.6.0.v20160404-1158,3.6.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.compare.win32" range="[1.1.0.v20160404-1158,1.1.0.v20160404-1158]">
<filter>
            (osgi.os=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filebuffers" range="[3.6.0.v20160308-1118,3.6.0.v20160308-1118]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem" range="[1.6.0.v20160217-2331,1.6.0.v20160217-2331]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.win32.x86" range="[1.1.0.v20160323-1650,1.1.0.v20160323-1650]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.linux.x86_64" range="[1.2.0.v20160323-1650,1.2.0.v20160323-1650]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.win32.x86_64" range="[1.1.0.v20160323-1650,1.1.0.v20160323-1650]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.net.linux.x86" range="[1.2.0.v20160323-1650,1.2.0.v20160323-1650]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources" range="[3.11.0.v20160325-1842,3.11.0.v20160325-1842]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util" range="[3.3.100.v20150423-1351,3.3.100.v20150423-1351]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.core" range="[3.10.100.v20160203-1134,3.10.100.v20160203-1134]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.debug.ui" range="[3.11.200.v20160416-1825,3.11.200.v20160416-1825]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event" range="[1.3.200.v20160324-1850,1.3.200.v20160324-1850]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.core.refactoring" range="[3.7.0.v20160120-1732,3.7.0.v20160120-1732]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ltk.ui.refactoring" range="[3.8.0.v20151129-1935,3.8.0.v20151129-1935]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.doc.user" range="[4.7.0.v20151029-1349,4.7.0.v20151029-1349]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.search" range="[3.11.0.v20160204-1117,3.11.0.v20160204-1117]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.core" range="[3.8.0.v20160404-1158,3.8.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.ui" range="[3.8.0.v20160412-1748,3.8.0.v20160412-1748]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.text" range="[3.6.0.v20160321-0553,3.6.0.v20160321-0553]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jface.text" range="[3.11.0.v20160413-2201,3.11.0.v20160413-2201]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.core" range="[1.3.0.v20160323-1650,1.3.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jsch.ui" range="[1.3.0.v20160323-1650,1.3.0.v20160323-1650]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.console" range="[3.6.100.v20160324-1431,3.6.100.v20160324-1431]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro" range="[3.5.0.v20160416-0844,3.5.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.universal" range="[3.3.0.v20160416-0844,3.3.0.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cheatsheets" range="[3.4.200.v20160416-0844,3.4.200.v20160416-0844]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.browser" range="[3.4.400.v20160415-0154,3.4.400.v20160415-0154]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.monitoring" range="[1.1.0.v20160131-1628,1.1.0.v20160131-1628]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator" range="[3.6.0.v20160329-2052,3.6.0.v20160329-2052]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.navigator.resources" range="[3.5.100.v20160406-0821,3.5.100.v20160406-0821]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.net" range="[1.3.0.v20160404-1158,1.3.0.v20160404-1158]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.workbench.texteditor" range="[3.10.0.v20160411-1621,3.10.0.v20160411-1621]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views" range="[3.8.0.v20160224-1855,3.8.0.v20160224-1855]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.editors" range="[3.10.0.v20160222-1603,3.10.0.v20160222-1603]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.externaltools" range="[3.3.0.v20160126-1316,3.3.0.v20160126-1316]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide" range="[3.12.0.v20160416-1108,3.12.0.v20160416-1108]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.ide.application" range="[1.1.100.v20160411-2246,1.1.100.v20160411-2246]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.win32" range="[3.2.500.v20160108-1409,3.2.500.v20160108-1409]">
<filter>
            (osgi.ws=win32)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.aix.ppc" range="[1.1.0.v20140124-1940,1.1.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.aix.ppc64" range="[1.1.0.v20140124-1940,1.1.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.hpux.ia64" range="[1.1.0.v20140124-1940,1.1.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.x86" range="[1.4.200.v20140124-1940,1.4.200.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.x86_64" range="[1.2.200.v20140124-1940,1.2.200.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.macosx" range="[1.3.0.v20140124-1940,1.3.0.v20140124-1940]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.win32.x86" range="[1.4.0.v20140124-1940,1.4.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.win32.x86" range="[3.5.100.v20140124-1940,3.5.100.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.resources.win32.x86_64" range="[3.5.0.v20140124-1940,3.5.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.win32.x86_64" range="[1.4.0.v20140124-1940,1.4.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc" range="[1.0.200.v20140124-1940,1.0.200.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc64" range="[1.4.0.v20140124-1940,1.4.0.v20140124-1940]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.filesystem.linux.ppc64le" range="[1.4.0.v20140822-1153,1.4.0.v20140822-1153]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.variables" range="[3.3.0.v20160201-1034,3.3.0.v20160201-1034]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.forms" range="[3.7.0.v20160310-0900,3.7.0.v20160310-0900]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.views.properties.tabbed" range="[3.7.0.v20160310-0903,3.7.0.v20160310-0903]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security" range="[1.2.200.v20150715-1528,1.2.200.v20150715-1528]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.ui" range="[1.1.300.v20150803-1225,1.1.300.v20150803-1225]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86" range="[1.0.300.v20130327-1442,1.0.300.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.win32.x86_64" range="[1.0.100.v20130327-1442,1.0.100.v20130327-1442]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.security.macosx" range="[1.100.200.v20130327-1442,1.100.200.v20130327-1442]">
<filter>
            (osgi.os=macosx)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.externaltools" range="[1.0.300.v20140219-0051,1.0.300.v20140219-0051]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.themes" range="[1.1.100.v20160411-1921,1.1.100.v20160411-1921]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.core.runtime" range="[3.12.0.v20160329-1217,3.12.0.v20160329-1217]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.quicklinks" range="[1.0.0.v20160316-0209,1.0.0.v20160316-0209]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.feature.jar" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform_root" range="[4.7.0.v20160417-1515,4.7.0.v20160417-1515]"/>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.equinox.event" version="1.3.200.v20160324-1850" singleton="false">
<update id="org.eclipse.equinox.event" range="[0.0.0,1.3.200.v20160324-1850)" severity="0"/>
<properties size="8">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Event Admin"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.event"/>
<property name="maven-version" value="1.3.200-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.event" version="1.3.200.v20160324-1850"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.event" version="1.3.200.v20160324-1850"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.event" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.event.mapper" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="java.package" name="org.eclipse.osgi.framework.eventmgr" range="1.1.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="1.1.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.6.0"/>
<required namespace="java.package" name="org.osgi.service.event" range="[1.3.0,1.4.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.event" version="1.3.200.v20160324-1850"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.event
Bundle-Version: 1.3.200.v20160324-1850
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515" singleton="false">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolingorg.eclipse.platform.sdk.config.gtk.linux.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.config" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setProgramProperty(propName:eclipse.product,propValue:org.eclipse.platform.sdk);setProgramProperty(propName:osgi.splashPath,propValue:platform${#58}/base/plugins/org.eclipse.platform);setProgramProperty(propName:eclipse.application,propValue:org.eclipse.ui.ide.workbench);
          </instruction>
<instruction key="unconfigure">
            setProgramProperty(propName:eclipse.product,propValue:);setProgramProperty(propName:osgi.splashPath,propValue:);setProgramProperty(propName:eclipse.application,propValue:);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.simpleconfigurator" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator" range="1.1.100.v20150907-2149"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:1);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.source" version="4.7.0.v20160417-1515" singleton="false">
<update id="org.eclipse.platform.source" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="Eclipse Platform Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.platform"/>
<property name="maven-artifactId" value="org.eclipse.platform"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.source" version="4.7.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.platform.source" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.platform.source" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.platform.source
Bundle-Version: 4.7.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.sdk.examples.feature.jar" version="3.5.600.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2013 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse SDK Examples"/>
<property name="df_LT.description" value="Eclipse SDK examples. Used in conjunction with Eclipse Project SDK."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.sdk.feature"/>
<property name="maven-artifactId" value="org.eclipse.sdk.examples"/>
<property name="maven-version" value="3.5.600-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.examples.feature.jar" version="3.5.600.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.sdk.examples" version="3.5.600.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.jdt.launching.ui.macosx" version="1.1.0.v20160120-1304">
<update id="org.eclipse.jdt.launching.ui.macosx" range="[0.0.0,1.1.0.v20160120-1304)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Mac OS X UI Launching Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.jdt"/>
<property name="maven-artifactId" value="org.eclipse.jdt.launching.ui.macosx"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jdt.launching.ui.macosx" version="1.1.0.v20160120-1304"/>
<provided namespace="osgi.bundle" name="org.eclipse.jdt.launching.ui.macosx" version="1.1.0.v20160120-1304"/>
<provided namespace="java.package" name="org.eclipse.jdt.internal.ui.macbundler" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.5.0,4.0.0)"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="[3.5.0,4.0.0)"/>
</requires>
<filter>
        (osgi.os=macosx)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jdt.launching.ui.macosx" version="1.1.0.v20160120-1304"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jdt.launching.ui.macosx;singleton:=true
Bundle-Version: 1.1.0.v20160120-1304
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.ds" version="1.4.400.v20160226-2036">
<update id="org.eclipse.equinox.ds" range="[0.0.0,1.4.400.v20160226-2036)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Declarative Services"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.description" value="This bundle provides support for OSGi Declarative Services"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.ds"/>
<property name="maven-version" value="1.4.400-SNAPSHOT"/>
</properties>
<provides size="14">
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.ds" version="1.4.400.v20160226-2036"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.xml.impl" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.ds" version="1.4.400.v20160226-2036"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ds.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ds.storage.file" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.string" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ds.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.ds" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.io" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.equinox.internal.util.xml" version="0.0.0"/>
<provided namespace="osgi.extender" name="osgi.component" version="1.2.0"/>
<provided namespace="java.package" name="org.apache.felix.scr" version="1.6.0"/>
</provides>
<requires size="17">
<required namespace="java.package" name="org.eclipse.equinox.internal.util.event" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.hash" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.pool" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.ref" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.threadpool" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.equinox.internal.util.timer" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.console" range="1.0.0" optional="true" greedy="false"/>
<required namespace="java.package" name="org.eclipse.osgi.framework.log" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.debug" range="1.0.0"/>
<required namespace="java.package" name="org.eclipse.osgi.service.environment" range="1.2.0"/>
<required namespace="java.package" name="org.eclipse.osgi.util" range="0.0.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.service.cm" range="1.2.0"/>
<required namespace="java.package" name="org.osgi.service.component" range="[1.1.0,1.3.0)"/>
<required namespace="java.package" name="org.osgi.service.log" range="1.3.0"/>
<required namespace="java.package" name="org.osgi.util.tracker" range="1.3.0"/>
<required namespace="java.package" name="org.apache.felix.scr" range="[1.6.0,1.7.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.ds" version="1.4.400.v20160226-2036"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="3">
<instruction key="unconfigure">
            setProgramProperty(propName:equinox.use.ds, propValue:);
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.ds;singleton:=true
Bundle-Version: 1.4.400.v20160226-2036
          </instruction>
<instruction key="configure">
            setProgramProperty(propName:equinox.use.ds, propValue:true);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.apache.mina.core" version="2.0.7.v201401071602" singleton="false">
<update id="org.apache.mina.core" range="[0.0.0,2.0.7.v201401071602)" severity="0"/>
<properties size="7">
<property name="df_LT.pluginName" value="Apache MINA Core"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.description" value="Apache MINA is a network application framework which helps users develop high performance and highlyscalable network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO."/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://mina.apache.org/"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="50">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.apache.mina.core" version="2.0.7.v201401071602"/>
<provided namespace="osgi.bundle" name="org.apache.mina.core" version="2.0.7.v201401071602"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers.http.ntlm" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.future" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec.demux" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.handler.demux" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.buffer" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.keepalive" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.util.byteaccess" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.handler.stream" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.transport.vmpipe" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.handler.multiton" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.stream" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.executor" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.errorgenerating" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.util" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.statistic" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.polling" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.handler.chain" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.filterchain" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.buffer" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.service" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers.http" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers.http.basic" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.transport.socket.nio" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec.serialization" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec.prefixedstring" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.filter" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.firewall" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.session" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers.http.digest" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.write" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.ssl" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.session" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.core.file" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec.statemachine" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.reqres" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.handlers.socks" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.event" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.util" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.proxy.utils" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.codec.textline" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.filter.logging" version="2.0.7"/>
<provided namespace="java.package" name="org.apache.mina.transport.socket" version="2.0.7"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="52">
<required namespace="java.package" name="javax.crypto" range="0.0.0"/>
<required namespace="java.package" name="javax.crypto.spec" range="0.0.0"/>
<required namespace="java.package" name="javax.net.ssl" range="0.0.0"/>
<required namespace="java.package" name="javax.security.sasl" range="0.0.0"/>
<required namespace="java.package" name="org.apache.mina.core" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.buffer" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.file" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.filterchain" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.future" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.polling" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.service" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.session" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.core.write" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.buffer" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec.demux" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec.prefixedstring" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec.serialization" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec.statemachine" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.codec.textline" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.errorgenerating" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.executor" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.firewall" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.keepalive" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.logging" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.reqres" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.ssl" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.statistic" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.stream" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.filter.util" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.handler.chain" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.handler.demux" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.handler.multiton" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.handler.stream" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.event" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.filter" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers.http" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers.http.basic" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers.http.digest" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers.http.ntlm" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.handlers.socks" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.session" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.proxy.utils" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.transport.socket" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.transport.socket.nio" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.transport.vmpipe" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.util" range="2.0.7"/>
<required namespace="java.package" name="org.apache.mina.util.byteaccess" range="2.0.7"/>
<required namespace="java.package" name="org.ietf.jgss" range="0.0.0"/>
<required namespace="java.package" name="org.slf4j" range="1.5.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.apache.mina.core" version="2.0.7.v201401071602"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.apache.mina.core
Bundle-Version: 2.0.7.v201401071602
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.api.tools.source" version="1.1.0.v20160411-1552" singleton="false">
<update id="org.eclipse.pde.api.tools.source" range="[0.0.0,1.1.0.v20160411-1552)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="API Tools Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.api.tools"/>
<property name="maven-version" value="1.1.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.api.tools.source" version="1.1.0.v20160411-1552"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.api.tools.source" version="1.1.0.v20160411-1552"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.api.tools.source" version="1.1.0.v20160411-1552"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.api.tools.source
Bundle-Version: 1.1.0.v20160411-1552
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.osgi.util.source" version="3.3.100.v20150423-1351" singleton="false">
<update id="org.eclipse.osgi.util.source" range="[0.0.0,3.3.100.v20150423-1351)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="OSGi Release 4.2.0 Utility Classes Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.osgi"/>
<property name="maven-artifactId" value="org.eclipse.osgi.util"/>
<property name="maven-version" value="3.3.100-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.osgi.util.source" version="3.3.100.v20150423-1351"/>
<provided namespace="osgi.bundle" name="org.eclipse.osgi.util.source" version="3.3.100.v20150423-1351"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.osgi.util.source" version="3.3.100.v20150423-1351"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.osgi.util.source
Bundle-Version: 3.3.100.v20150423-1351
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="toolinggtk.aix.ppcorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515" singleton="false">
<hostRequirements size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</hostRequirements>
<properties size="1">
<property name="org.eclipse.equinox.p2.type.fragment" value="true"/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="toolinggtk.aix.ppcorg.eclipse.equinox.ds" version="4.7.0.I20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.flavor" name="toolinggtk.aix.ppc" version="1.0.0"/>
</provides>
<requires size="2">
<required namespace="osgi.bundle" name="org.eclipse.equinox.ds" range="1.4.400.v20160226-2036"/>
<required namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" range="[1.0.0,2.0.0)" greedy="false"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="null" version="0.0.0"/>
<touchpointData size="1">
<instructions size="4">
<instruction key="uninstall">
            uninstallBundle(bundle:${artifact})
          </instruction>
<instruction key="install">
            installBundle(bundle:${artifact})
          </instruction>
<instruction key="configure">
            setStartLevel(startLevel:2);markStarted(started: true);
          </instruction>
<instruction key="unconfigure">
            setStartLevel(startLevel:-1);markStarted(started: false);
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.jetty.servlet.source" version="9.3.5.v20151012" singleton="false">
<update id="org.eclipse.jetty.servlet.source" range="[0.0.0,9.3.5.v20151012)" severity="0"/>
<properties size="2">
<property name="org.eclipse.equinox.p2.name" value="Jetty :: Servlet Handling"/>
<property name="org.eclipse.equinox.p2.provider" value="Eclipse.org - Jetty"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.jetty.servlet.source" version="9.3.5.v20151012"/>
<provided namespace="osgi.bundle" name="org.eclipse.jetty.servlet.source" version="9.3.5.v20151012"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.jetty.servlet.source" version="9.3.5.v20151012"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.jetty.servlet.source
Bundle-Version: 9.3.5.v20151012
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.cvs.feature.jar" version="1.4.300.v20160417-1515">
<properties size="11">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.copyright" value="Copyright (c) 2000, 2011 IBM Corporation and others.&#10;All rights reserved. This program and the accompanying materials&#10;are made available under the terms of the Eclipse Public License v1.0&#10;which accompanies this distribution, and is available at&#10;http://www.eclipse.org/legal/epl-v10.html&#10;&#10;Contributors:&#10;IBM Corporation - initial API and implementation"/>
<property name="df_LT.featureName" value="Eclipse CVS Client"/>
<property name="df_LT.description" value="Eclipse CVS Client (binary runtime and user documentation)."/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="maven-groupId" value="org.eclipse.cvs.feature"/>
<property name="maven-artifactId" value="org.eclipse.cvs"/>
<property name="maven-version" value="1.4.300-SNAPSHOT"/>
</properties>
<provides size="3">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.cvs.feature.jar" version="1.4.300.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="feature" version="1.0.0"/>
<provided namespace="org.eclipse.update.feature" name="org.eclipse.cvs" version="1.4.300.v20160417-1515"/>
</provides>
<filter>
        (org.eclipse.update.install.features=true)
      </filter>
<artifacts size="1">
<artifact classifier="org.eclipse.update.feature" id="org.eclipse.cvs" version="1.4.300.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="zipped">
            true
          </instruction>
</instructions>
</touchpointData>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
<copyright>
        %copyright
      </copyright>
</unit>
<unit id="org.eclipse.ui.intro.quicklinks" version="1.0.0.v20160316-0209">
<update id="org.eclipse.ui.intro.quicklinks" range="[0.0.0,1.0.0.v20160316-0209)" severity="0"/>
<properties size="8">
<property name="df_LT.plugin_name" value="Quicklinks for the Welcome Framework"/>
<property name="df_LT.provider_name" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%plugin_name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider_name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.intro.quicklinks"/>
<property name="maven-version" value="1.0.0-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.intro.quicklinks" version="1.0.0.v20160316-0209"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.intro.quicklinks" version="1.0.0.v20160316-0209"/>
<provided namespace="java.package" name="org.eclipse.ui.intro.quicklinks" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.ui.intro" range="3.4.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.workbench" range="3.108.0"/>
<required namespace="osgi.bundle" name="org.eclipse.jface" range="3.12.0"/>
<required namespace="osgi.bundle" name="org.eclipse.ui.forms" range="3.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.registry" range="3.6.100"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="3.12.0"/>
<required namespace="java.package" name="org.osgi.framework" range="1.8.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.intro.quicklinks" version="1.0.0.v20160316-0209"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.intro.quicklinks;singleton:=true
Bundle-Version: 1.0.0.v20160316-0209
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.team.cvs.core.source" version="3.4.0.v20160404-1158" singleton="false">
<update id="org.eclipse.team.cvs.core.source" range="[0.0.0,3.4.0.v20160404-1158)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="CVS Team Provider Core Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.team"/>
<property name="maven-artifactId" value="org.eclipse.team.cvs.core"/>
<property name="maven-version" value="3.4.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.team.cvs.core.source" version="3.4.0.v20160404-1158"/>
<provided namespace="osgi.bundle" name="org.eclipse.team.cvs.core.source" version="3.4.0.v20160404-1158"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.team.cvs.core.source" version="3.4.0.v20160404-1158"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.team.cvs.core.source
Bundle-Version: 3.4.0.v20160404-1158
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.model.workbench" version="1.2.0.v20160229-1459">
<update id="org.eclipse.e4.ui.model.workbench" range="[0.0.0,1.2.0.v20160229-1459)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse Workbench Model"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.model.workbench"/>
<property name="maven-version" value="1.2.0-SNAPSHOT"/>
</properties>
<provides size="30">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.model.workbench" version="1.2.0.v20160229-1459"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.model.workbench" version="1.2.0.v20160229-1459"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.commands" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.commands.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.commands.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.descriptor.basic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.descriptor.basic.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.descriptor.basic.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.advanced" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.advanced.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.advanced.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.basic" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.basic.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.basic.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.menu" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.menu.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.menu.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.ui.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.application.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.fragment" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.fragment.impl" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.fragment.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.model.internal" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="7">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.7.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.services" range="0.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.contexts" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.core.commands" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.core.di" range="1.0.0"/>
<required namespace="osgi.bundle" name="org.eclipse.emf.ecore" range="2.9.0"/>
<required namespace="osgi.bundle" name="org.eclipse.e4.emf.xpath" range="0.1.100"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.model.workbench" version="1.2.0.v20160229-1459"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.model.workbench;singleton:=true
Bundle-Version: 1.2.0.v20160229-1459
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.gtk.hpux.ia64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.pde.launching" version="3.6.400.v20160121-1248">
<update id="org.eclipse.pde.launching" range="[0.0.0,3.6.400.v20160121-1248)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="PDE Launching Support"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.launching"/>
<property name="maven-version" value="3.6.400-SNAPSHOT"/>
</properties>
<provides size="8">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.launching" version="3.6.400.v20160121-1248"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.launching" version="3.6.400.v20160121-1248"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.launching" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.launching.launcher" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.launching.sourcelookup" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.launching" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="11">
<required namespace="osgi.bundle" name="org.eclipse.jdt.junit.core" range="[3.6.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.build" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.debug" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.5.0,4.0.0)"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.launching" version="3.6.400.v20160121-1248"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.launching;singleton:=true
Bundle-Version: 3.6.400.v20160121-1248
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.objectweb.asm" version="5.0.1.v201404251740" singleton="false">
<update id="org.objectweb.asm" range="[0.0.0,5.0.1.v201404251740)" severity="0"/>
<properties size="6">
<property name="df_LT.pluginName" value="ASM"/>
<property name="df_LT.providerName" value="Eclipse Orbit"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.doc.url" value="http://asm.objectweb.org"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.objectweb.asm" version="5.0.1.v201404251740"/>
<provided namespace="osgi.bundle" name="org.objectweb.asm" version="5.0.1.v201404251740"/>
<provided namespace="java.package" name="org.objectweb.asm" version="5.0.1"/>
<provided namespace="java.package" name="org.objectweb.asm.signature" version="5.0.1"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.objectweb.asm" version="5.0.1.v201404251740"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.objectweb.asm
Bundle-Version: 5.0.1.v201404251740
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.swt.examples.launcher.source" version="3.105.0.v20151111-1312" singleton="false">
<update id="org.eclipse.swt.examples.launcher.source" range="[0.0.0,3.105.0.v20151111-1312)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org"/>
<property name="df_LT.bundleName" value="SWT Launcher Example Plugin Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.swt"/>
<property name="maven-artifactId" value="org.eclipse.swt.examples.launcher"/>
<property name="maven-version" value="3.105.0-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.swt.examples.launcher.source" version="3.105.0.v20151111-1312"/>
<provided namespace="osgi.bundle" name="org.eclipse.swt.examples.launcher.source" version="3.105.0.v20151111-1312"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.swt.examples.launcher.source" version="3.105.0.v20151111-1312"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.swt.examples.launcher.source
Bundle-Version: 3.105.0.v20151111-1312
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534">
<update id="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[0.0.0,1.0.300.v20160324-1534)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Equinox Launcher Linux PPC64le Fragment"/>
<property name="df_LT.providerName" value="Eclipse.org - Equinox"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="launcher.gtk.linux.ppc64le"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.launcher.gtk.linux.ppc64le"/>
<property name="maven-version" value="1.0.300-SNAPSHOT"/>
</properties>
<provides size="5">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.equinox.launcher" version="1.0.300.v20160324-1534"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.equinox.launcher" range="[1.0.0,1.4.0)"/>
</requires>
<filter>
        (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.launcher.gtk.linux.ppc64le" version="1.0.300.v20160324-1534"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="zipped">
            true
          </instruction>
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.linux.ppc64le;singleton:=true
Bundle-Version: 1.0.300.v20160324-1534
Fragment-Host: org.eclipse.equinox.launcher;bundle-version="[1.0.0,1.4.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.p2.ui.sdk.source" version="1.0.400.v20150423-1455" singleton="false">
<update id="org.eclipse.equinox.p2.ui.sdk.source" range="[0.0.0,1.0.400.v20150423-1455)" severity="0"/>
<properties size="9">
<property name="df_LT.bundleVendor" value="Eclipse.org - Equinox"/>
<property name="df_LT.bundleName" value="Equinox Provisioning Platform Update Support Source"/>
<property name="org.eclipse.equinox.p2.name" value="%bundleName"/>
<property name="org.eclipse.equinox.p2.provider" value="%bundleVendor"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="OSGI-INF/l10n/bundle-src"/>
<property name="maven-groupId" value="org.eclipse.equinox"/>
<property name="maven-artifactId" value="org.eclipse.equinox.p2.ui.sdk"/>
<property name="maven-version" value="1.0.400-SNAPSHOT"/>
<property name="maven-classifier" value="sources"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.p2.ui.sdk.source" version="1.0.400.v20150423-1455"/>
<provided namespace="osgi.bundle" name="org.eclipse.equinox.p2.ui.sdk.source" version="1.0.400.v20150423-1455"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="source" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.equinox.p2.ui.sdk.source" version="1.0.400.v20150423-1455"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.equinox.p2.ui.sdk.source
Bundle-Version: 1.0.400.v20150423-1455
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.aix.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.ui.cocoa" version="1.1.100.v20151202-1450">
<update id="org.eclipse.ui.cocoa" range="[0.0.0,1.1.100.v20151202-1450)" severity="0"/>
<properties size="8">
<property name="df_LT.fragmentName" value="Eclipse UI MacOS X Enhancements"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%fragmentName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="fragment-cocoa"/>
<property name="maven-groupId" value="org.eclipse.ui"/>
<property name="maven-artifactId" value="org.eclipse.ui.cocoa"/>
<property name="maven-version" value="1.1.100-SNAPSHOT"/>
</properties>
<provides size="6">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.ui.cocoa" version="1.1.100.v20151202-1450"/>
<provided namespace="osgi.bundle" name="org.eclipse.ui.cocoa" version="1.1.100.v20151202-1450"/>
<provided namespace="java.package" name="org.eclipse.ui.internal.cocoa" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="osgi.fragment" name="org.eclipse.ui" version="1.1.100.v20151202-1450"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="1">
<required namespace="osgi.bundle" name="org.eclipse.ui" range="[3.5.0,4.0.0)"/>
</requires>
<filter>
        (osgi.ws=cocoa)
      </filter>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.ui.cocoa" version="1.1.100.v20151202-1450"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.ui.cocoa;singleton:=true
Bundle-Version: 1.1.100.v20151202-1450
Fragment-Host: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)"
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.rcp" version="4.7.0.v20160417-1515">
<update id="org.eclipse.rcp" range="[0.0.0,4.7.0.v20160417-1515)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse RCP"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.rcp"/>
<property name="maven-artifactId" value="org.eclipse.rcp"/>
<property name="maven-version" value="4.7.0-SNAPSHOT"/>
</properties>
<provides size="4">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.rcp" version="4.7.0.v20160417-1515"/>
<provided namespace="osgi.bundle" name="org.eclipse.rcp" version="4.7.0.v20160417-1515"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.rcp" version="4.7.0.v20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.rcp; singleton:=true
Bundle-Version: 4.7.0.v20160417-1515
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.e4.ui.css.core" version="0.11.0.v20160414-1245">
<update id="org.eclipse.e4.ui.css.core" range="[0.0.0,0.11.0.v20160414-1245)" severity="0"/>
<properties size="8">
<property name="df_LT.pluginName" value="Eclipse CSS Core Support"/>
<property name="df_LT.providerName" value="Eclipse.org"/>
<property name="org.eclipse.equinox.p2.name" value="%pluginName"/>
<property name="org.eclipse.equinox.p2.provider" value="%providerName"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.e4"/>
<property name="maven-artifactId" value="org.eclipse.e4.ui.css.core"/>
<property name="maven-version" value="0.11.0-SNAPSHOT"/>
</properties>
<provides size="27">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.e4.ui.css.core" version="0.11.0.v20160414-1245"/>
<provided namespace="osgi.bundle" name="org.eclipse.e4.ui.css.core" version="0.11.0.v20160414-1245"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.css2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom.parsers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom.properties.converters" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom.properties.css2" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.dom.properties.providers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.exceptions" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.impl.dom" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.impl.dom.parsers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.impl.dom.properties" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.impl.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.impl.sac" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.sac" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.serializers" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.util.impl.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.util.resources" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.core.utils" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.xml.engine" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.e4.ui.css.xml.properties.css2" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="6">
<required namespace="osgi.bundle" name="org.w3c.css.sac" range="1.3.0"/>
<required namespace="osgi.bundle" name="org.apache.batik.css" range="1.7.0"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.common" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.6.0,4.0.0)"/>
<required namespace="java.package" name="org.w3c.dom.css" range="2.0.0"/>
<required namespace="java.package" name="org.w3c.dom.stylesheets" range="2.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.e4.ui.css.core" version="0.11.0.v20160414-1245"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.e4.ui.css.core;singleton:=true
Bundle-Version: 0.11.0.v20160414-1245
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.ide.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.ide.executable.gtk.linux.x86.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.pde.core" version="3.11.0.v20160406-0848">
<update id="org.eclipse.pde.core" range="[0.0.0,3.11.0.v20160406-0848)" severity="0"/>
<properties size="8">
<property name="df_LT.provider-name" value="Eclipse.org"/>
<property name="df_LT.name" value="PDE Core"/>
<property name="org.eclipse.equinox.p2.name" value="%name"/>
<property name="org.eclipse.equinox.p2.provider" value="%provider-name"/>
<property name="org.eclipse.equinox.p2.bundle.localization" value="plugin"/>
<property name="maven-groupId" value="org.eclipse.pde"/>
<property name="maven-artifactId" value="org.eclipse.pde.core"/>
<property name="maven-version" value="3.11.0-SNAPSHOT"/>
</properties>
<provides size="35">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.pde.core" version="3.11.0.v20160406-0848"/>
<provided namespace="osgi.bundle" name="org.eclipse.pde.core" version="3.11.0.v20160406-0848"/>
<provided namespace="java.package" name="org.eclipse.pde.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.core.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.core.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.core.project" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.core.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.builders" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.bundle" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.content" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.exports" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.feature" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.ibundle" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.ifeature" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.iproduct" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.ischema" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.isite" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.natures" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.product" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.project" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.schema" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.search" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.site" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.target" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.text" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.text.build" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.text.bundle" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.text.plugin" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.util" version="0.0.0"/>
<provided namespace="java.package" name="org.eclipse.pde.internal.core.variables" version="0.0.0"/>
<provided namespace="org.eclipse.equinox.p2.eclipse.type" name="bundle" version="1.0.0"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="27">
<required namespace="osgi.bundle" name="org.eclipse.core.runtime" range="[3.11.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.resources" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.team.core" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.update.configurator" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.text" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.jdt.launching" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filebuffers" range="[3.2.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.variables" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.pde.build" range="[3.2.0,4.1.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.ant.core" range="[3.1.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.simpleconfigurator.manipulator" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.frameworkadmin" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.debug.core" range="[3.5.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.engine" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.core" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.director" range="[2.1.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.artifact.repository" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository" range="[2.0.0,3.0.0]"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.repository.tools" range="[2.0.100,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.metadata.repository" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.garbagecollector" range="[1.0.100,2.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.equinox.p2.touchpoint.eclipse" range="[2.0.0,3.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.expressions" range="[3.4.0,4.0.0)"/>
<required namespace="osgi.bundle" name="org.eclipse.core.filesystem" range="[1.0.0,2.0.0)"/>
<required namespace="java.package" name="com.ibm.icu.util" range="0.0.0"/>
</requires>
<artifacts size="1">
<artifact classifier="osgi.bundle" id="org.eclipse.pde.core" version="3.11.0.v20160406-0848"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="1">
<instruction key="manifest">
            Bundle-SymbolicName: org.eclipse.pde.core; singleton:=true
Bundle-Version: 3.11.0.v20160406-0848
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515">
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
<provided namespace="toolingorg.eclipse.platform.sdk" name="org.eclipse.platform.sdk.executable" version="4.7.0.I20160417-1515"/>
</provides>
<requires size="1">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="0.0.0">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
</requires>
<filter>
        (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
      </filter>
<artifacts size="1">
<artifact classifier="binary" id="org.eclipse.platform.sdk.executable.cocoa.macosx.x86_64" version="4.7.0.I20160417-1515"/>
</artifacts>
<touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0"/>
</unit>
<unit id="org.eclipse.sdk.ide.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515" singleton="false">
<provides size="1">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.sdk.ide.executable.gtk.linux.ppc.eclipse" version="4.7.0.I20160417-1515"/>
</provides>
<filter>
        (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
      </filter>
<touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0"/>
<touchpointData size="1">
<instructions size="2">
<instruction key="configure">
            setLauncherName(name:eclipse)
          </instruction>
<instruction key="unconfigure">
            setLauncherName()
          </instruction>
</instructions>
</touchpointData>
</unit>
<unit id="org.eclipse.equinox.executable" version="3.6.300.v20160414-1953" singleton="false">
<update id="org.eclipse.equinox.executable" range="[0.0.0,3.6.300.v20160414-1953)" severity="0"/>
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.executable"/>
<property name="maven-version" value="3.6.300-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.featureName" value="Eclipse Platform Launcher Executables for Multi-Architecture Builds"/>
<property name="df_LT.description" value="Platform specific launchers."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable" version="3.6.300.v20160414-1953"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="32">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.jar" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
</unit>
<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.300.v20160414-1953" singleton="false">
<update id="org.eclipse.equinox.executable.feature.group" range="[0.0.0,3.6.300.v20160414-1953)" severity="0"/>
<properties size="9">
<property name="org.eclipse.equinox.p2.name" value="%featureName"/>
<property name="org.eclipse.equinox.p2.description" value="%description"/>
<property name="org.eclipse.equinox.p2.type.group" value="true"/>
<property name="maven-groupId" value="org.eclipse.equinox.feature"/>
<property name="maven-artifactId" value="org.eclipse.equinox.executable"/>
<property name="maven-version" value="3.6.300-SNAPSHOT"/>
<property name="df_LT.license" value="Eclipse Foundation Software User Agreement&#10;April 9, 2014&#10;&#10;Usage Of Content&#10;&#10;THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR&#10;OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).&#10;USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS&#10;AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR&#10;NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU&#10;AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT&#10;AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS&#10;OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE&#10;TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS&#10;OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED&#10;BELOW, THEN YOU MAY NOT USE THE CONTENT.&#10;&#10;Applicable Licenses&#10;&#10;Unless otherwise indicated, all Content made available by the&#10;Eclipse Foundation is provided to you under the terms and conditions of&#10;the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is&#10;provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.&#10;For purposes of the EPL, &quot;Program&quot; will mean the Content.&#10;&#10;Content includes, but is not limited to, source code, object code,&#10;documentation and other files maintained in the Eclipse Foundation source code&#10;repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available&#10;as downloadable archives (&quot;Downloads&quot;).&#10;&#10;&#9;- Content may be structured and packaged into modules to facilitate delivering,&#10;&#9;  extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),&#10;&#9;  plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).&#10;&#9;- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)&#10;&#9;  in a directory named &quot;plugins&quot;.&#10;&#9;- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.&#10;&#9;  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.&#10;&#9;  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version&#10;&#9;  numbers of the Plug-ins and/or Fragments associated with that Feature.&#10;&#9;- Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files&#10;&#9;  named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.&#10;&#10;The terms and conditions governing Plug-ins and Fragments should be&#10;contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and&#10;conditions governing Features and Included Features should be contained&#10;in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature&#10;Licenses may be located in any directory of a Download or Module&#10;including, but not limited to the following locations:&#10;&#10;&#9;- The top-level (root) directory&#10;&#9;- Plug-in and Fragment directories&#10;&#9;- Inside Plug-ins and Fragments packaged as JARs&#10;&#9;- Sub-directories of the directory named &quot;src&quot; of certain Plug-ins&#10;&#9;- Feature directories&#10;&#10;Note: if a Feature made available by the Eclipse Foundation is installed using the&#10;Provisioning Technology (as defined below), you must agree to a license (&quot;Feature &#10;Update License&quot;) during the installation process. If the Feature contains&#10;Included Features, the Feature Update License should either provide you&#10;with the terms and conditions governing the Included Features or inform&#10;you where you can locate them. Feature Update Licenses may be found in&#10;the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.&#10;Such Abouts, Feature Licenses, and Feature Update Licenses contain the&#10;terms and conditions (or references to such terms and conditions) that&#10;govern your use of the associated Content in that directory.&#10;&#10;THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER&#10;TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.&#10;SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):&#10;&#10;&#9;- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)&#10;&#9;- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)&#10;&#9;- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)&#10;&#9;- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)&#10;&#9;- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)&#10;&#10;IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR&#10;TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License&#10;is provided, please contact the Eclipse Foundation to determine what terms and conditions&#10;govern that particular Content.&#10;&#10;&#10;Use of Provisioning Technology&#10;&#10;The Eclipse Foundation makes available provisioning software, examples of which include,&#10;but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for&#10;the purpose of allowing users to install software, documentation, information and/or&#10;other materials (collectively &quot;Installable Software&quot;). This capability is provided with&#10;the intent of allowing such users to install, extend and update Eclipse-based products.&#10;Information about packaging Installable Software is available at&#10;http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).&#10;&#10;You may use Provisioning Technology to allow other parties to install Installable Software.&#10;You shall be responsible for enabling the applicable license agreements relating to the&#10;Installable Software to be presented to, and accepted by, the users of the Provisioning Technology&#10;in accordance with the Specification. By using Provisioning Technology in such a manner and&#10;making it available in accordance with the Specification, you further acknowledge your&#10;agreement to, and the acquisition of all necessary rights to permit the following:&#10;&#10;&#9;1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute&#10;&#9;   the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,&#10;&#9;   extending or updating the functionality of an Eclipse-based product.&#10;&#9;2. During the Provisioning Process, the Provisioning Technology may cause third party&#10;&#9;   Installable Software or a portion thereof to be accessed and copied to the Target Machine.&#10;&#9;3. Pursuant to the Specification, you will provide to the user the terms and conditions that&#10;&#9;   govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such&#10;&#9;   Installable Software Agreement shall be accessed from the Target Machine in accordance&#10;&#9;   with the Specification. Such Installable Software Agreement must inform the user of the&#10;&#9;   terms and conditions that govern the Installable Software and must solicit acceptance by&#10;&#9;   the end user in the manner prescribed in such Installable Software Agreement. Upon such&#10;&#9;   indication of agreement by the user, the provisioning Technology will complete installation&#10;&#9;   of the Installable Software.&#10;&#10;Cryptography&#10;&#10;Content may contain encryption software. The country in which you are&#10;currently may have restrictions on the import, possession, and use,&#10;and/or re-export to another country, of encryption software. BEFORE&#10;using any encryption software, please check the country's laws,&#10;regulations and policies concerning the import, possession, or use, and&#10;re-export of encryption software, to see if this is permitted.&#10;&#10;Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both."/>
<property name="df_LT.featureName" value="Eclipse Platform Launcher Executables"/>
<property name="df_LT.description" value="Platform specific launchers."/>
</properties>
<provides size="2">
<provided namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.group" version="3.6.300.v20160414-1953"/>
<provided namespace="org.eclipse.equinox.p2.localization" name="df_LT" version="1.0.0"/>
</provides>
<requires size="32">
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher" range="[1.3.200.v20160318-1642,1.3.200.v20160318-1642]"/>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.solaris.x86_64" range="[1.1.300.v20160408-1934,1.1.300.v20160408-1934]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.ppc64le" range="[1.0.300.v20160324-1534,1.0.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc64" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.aix.ppc" range="[1.1.200.v20160324-1534,1.1.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.hpux.ia64" range="[1.0.200.v20160324-1534,1.0.200.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.win32.win32.x86_64" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.launcher.gtk.linux.s390x" range="[1.1.300.v20160324-1534,1.1.300.v20160324-1534]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable.feature.jar" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (org.eclipse.update.install.features=true)
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.aix.ppc64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.x86" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.win32.win32.x86_64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.solaris.x86" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.aix.ppc" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=aix)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.x86_64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.solaris.sparcv9" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=sparcv9)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.hpux.ia64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ia64)(osgi.os=hpux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ppc64)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ppc)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.s390x" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=s390x)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.cocoa.macosx.x86_64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=macosx)(osgi.ws=cocoa))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.win32.win32.x86" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86)(osgi.os=win32)(osgi.ws=win32))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.ppc64le" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=ppc64le)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.linux.s390" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=s390)(osgi.os=linux)(osgi.ws=gtk))
          </filter>
</required>
<required namespace="org.eclipse.equinox.p2.iu" name="org.eclipse.equinox.executable_root.gtk.solaris.x86_64" range="[3.6.300.v20160414-1953,3.6.300.v20160414-1953]">
<filter>
            (&amp;(osgi.arch=x86_64)(osgi.os=solaris)(osgi.ws=gtk))
          </filter>
</required>
</requires>
<touchpoint id="null" version="0.0.0"/>
<licenses size="1">
<license uri="%25licenseURL" url="%25licenseURL">
          %license
        </license>
</licenses>
</unit>
</units>
</repository>
