<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0047)http://www.eclipse.org/legal/epl/longabout.html -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
</head>
<body lang="EN-US">
<h2>About This Content</h2>
 
<p>April 22, 2017</p>	
<h3>License</h3>

<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
indicated below, the Content is provided to you under the terms and conditions of the
Eclipse Public License Version 1.0 (&quot;EPL&quot;) and of the Apache License Version 2.0.</p>

<p>You may elect to redistribute this code under either of these licenses.</p>

<p>A copy of the EPL is available 
at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>

<p>A copy of the Apache License Version 2.0 is available at
<a href="http://www.opensource.org/licenses/apache2.0.php">http://www.opensource.org/licenses/apache2.0.php</a>.</p>

<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
apply to your use of any object code in the Content.  Check the Redistributor's license that was 
provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
indicated below, the terms and conditions of the EPL still apply to any source code in the Content
and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>

		
		<h3>Third Party Content</h3>
		<p>The Content includes items that have been sourced from third parties as set out below. If you 
		did not receive this Content directly from the Eclipse Foundation, the following is provided 
		for informational purposes only, and you should look to the Redistributor's license for 
		terms and conditions of use.</p>
		
		<h4>
			<a href="about_files/apache-v20.txt">Apache License 2.0</a>
		</h4>
		This product contains software developed by the Apache Software Foundation (<a href="http://www.apache.org">http://www.apache.org</a>).
		<ul>
			<li>
				Apache Tomcat 8.5.11 - binary and source is available from the
				<a href="http://tomcat.apache.org/">Apache Tomcat project</a>
			</li>
		</ul>
		<h4>
			<a href="about_files/cddl-10.txt">Common Development and Distribution License 1.0</a>
		</h4>
		<ul>
			<li>
				javax.activation 1.1.1 - <a href="http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.javax.activation&version=1.1.1&type=binary">binary</a> and <a href="http://www.springsource.com/repository/app/bundle/version/download?name=com.springsource.javax.activation&version=1.1.1&type=source">source</a> is available from the SpringSource <a href="http://www.springsource.com/repository/app/">Enterprise Bundle Repository</a>
			</li>
			<li>
				javax.annotation 1.2.0.v201401042248 - <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/plugins/javax.annotation_1.2.0.v201401042248.jar">binary</a> and <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/plugins/javax.annotation.source_1.2.0.v201401042248.jar">source</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
			<li>
				javax.ejb 3.1.1.v201204261316 - <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/plugins/javax.ejb_3.1.1.v201204261316.jar">binary</a> and <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/plugins/javax.ejb.source_3.1.1.v201204261316.jar">source</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
			<li>
				javax.mail 1.4.0.v201005080615 - <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/plugins/javax.mail_1.4.0.v201005080615.jar">binary</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
			<li>
				javax.transaction 1.1.0.v201205091237 - <a href="http://www.eclipse.org/downloads/download.php?r=1&file=/tools/orbit/downloads/drops/R20120526062928/repository/plugins/javax.transaction_1.1.0.v201205091237.jar">binary</a> and <a href="http://www.eclipse.org/downloads/download.php?r=1&file=/tools/orbit/downloads/drops/R20120526062928/repository/plugins/javax.transaction.source_1.1.0.v201205091237.jar">source</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
			<li>
				javax.xml.rpc 1.1.0.v201005080400 - <a href="http://www.eclipse.org/downloads/download.php?r=1&file=/tools/orbit/downloads/drops/R20120526062928/repository/plugins/javax.xml.rpc_1.1.0.v201005080400.jar">binary</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
			<li>
				javax.xml.soap 1.3.0 - <a href="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/plugins/javax.xml.soap_1.3.0.v201105210645.jar">binary</a> is available from the Eclipse <a href="http://download.eclipse.org/tools/orbit/downloads/">Orbit Project</a>
			</li>
		</ul>
		<h4>
			<a href="about_files/slf4j.txt">SLF4J License</a>
		</h4>
		<ul>
			<li>
				Simple Logging Facade for Java (SLF4J) 1.7.2 - binary and source is available from the
				<a href="http://www.slf4j.org/">SLF4J Project</a>
			</li>
		</ul>



</body></html>