
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2017-01-25
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache OpenMeetings Project - Project Dependencies</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />
 
		<link href="../css/bootstrap.min.css" rel="stylesheet" />
		<link href="../css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="../css/docs.css" rel="stylesheet" />
		<link href="../css/reflow-skin.css" rel="stylesheet" />


		<link href="../css/lightbox.css" rel="stylesheet" />

		<link href="../css/site.css" rel="stylesheet" />
		<link href="../css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="../js/html5.js"></script>
		<![endif]-->


		
	</head>

	<body class="page-dependencies project-openmeetings-util" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="brand"><span class="color-highlight">Apache</span> OpenMeetings</div>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="../demo.html" title="Demo">Demo</a></li>
							<li ><a href="../downloads.html" title="Download">Download</a></li>
							<li ><a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" title="Wiki" class="externalLink">Wiki</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Parent Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="../index.html" title="Openmeetings">Openmeetings</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="About">About</a></li>
									<li ><a href="project-info.html" title="Info">Info</a></li>
									<li ><a href="project-summary.html" title="Summary">Summary</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li class="active"><a href="" title="Dependencies">Dependencies</a></li>
									<li ><a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a></li>
									<li ><a href="rat-report.html" title="RAT Report">RAT Report</a></li>
									<li ><a href="apidocs/index.html" title="JavaDoc" target="_blank">JavaDoc</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="../index.html" id="bannerLeft"><img src="../images/logo.png" alt='"'Apache OpenMeetings'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://apache.org" id="bannerRight"><img src="http://apache.org/img/asf_logo.png" alt='"'Apache'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="publishDate version-date">Last Published: 2017-01-25</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span8">
			<div class="body-content">
<a name="Project_Dependencies"></a> 
<div class="section"> 
 <div class="page-header">
  <h2 id="Project_Dependencies">Project Dependencies</h2>
 </div> 
 <a name="Project_Dependencies_compile"></a> 
 <div class="section"> 
  <h3 id="compile">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>commons-codec</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-codec/">commons-codec</a></td> 
     <td>1.10</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-io</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-io/">commons-io</a></td> 
     <td>2.5</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-transaction</td> 
     <td>commons-transaction</td> 
     <td>1.2</td> 
     <td>jar</td> 
     <td>/LICENSE.txt</td> 
    </tr> 
    <tr class="a"> 
     <td>dom4j</td> 
     <td><a class="externalLink" href="http://dom4j.org">dom4j</a></td> 
     <td>1.6.1</td> 
     <td>jar</td> 
     <td>-</td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.wicket</td> 
     <td><a class="externalLink" href="http://wicket.apache.org/wicket-util">wicket-util</a></td> 
     <td>7.6.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.mnode.ical4j</td> 
     <td><a class="externalLink" href="http://ical4j.sourceforge.net">ical4j</a></td> 
     <td>2.0.0</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://raw.githubusercontent.com/ical4j/ical4j/master/LICENSE">iCal4j - License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-server">red5-server</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.threeten</td> 
     <td><a class="externalLink" href="https://www.threeten.org/threetenbp">threetenbp</a></td> 
     <td>1.3.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://raw.githubusercontent.com/ThreeTen/threetenbp/master/LICENSE.txt">BSD 3-clause</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Dependencies_test"></a> 
 <div class="section"> 
  <h3 id="test">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>junit</td> 
     <td><a class="externalLink" href="http://junit.org">junit</a></td> 
     <td>4.12</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-core</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-test</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Dependencies_provided"></a> 
 <div class="section"> 
  <h3 id="provided">provided</h3> 
  <p>The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.apache.tomcat</td> 
     <td><a class="externalLink" href="http://tomcat.apache.org/">tomcat-servlet-api</a></td> 
     <td>8.5.9</td> 
     <td>jar</td> 
     <td>http://www.apache.org/licenses/LICENSE-2.0.txt and http://www.opensource.org/licenses/cddl1.txt</td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
</div> 
<a name="Project_Transitive_Dependencies"></a> 
<div class="section"> 
 <h2 id="Project_Transitive_Dependencies">Project Transitive Dependencies</h2> 
 <p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p> 
 <a name="Project_Transitive_Dependencies_compile"></a> 
 <div class="section"> 
  <h3 id="compile">compile</h3> 
  <p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Classifier</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>biz.aQute.bnd</td> 
     <td><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">bndlib</a></td> 
     <td>2.3.0</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-access">logback-access</a></td> 
     <td>1.1.7</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>-<a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-classic">logback-classic</a></td> 
     <td>1.1.7</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>-<a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>ch.qos.logback</td> 
     <td><a class="externalLink" href="http://logback.qos.ch/logback-core">logback-core</a></td> 
     <td>1.1.7</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>-<a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.adobe.xmp</td> 
     <td><a class="externalLink" href="http://www.adobe.com/devnet/xmp.html">xmpcore</a></td> 
     <td>5.1.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html">The BSD License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.drewnoakes</td> 
     <td><a class="externalLink" href="https://drewnoakes.com/code/exif/">metadata-extractor</a></td> 
     <td>2.9.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.fasterxml.jackson.core</td> 
     <td><a class="externalLink" href="https://github.com/FasterXML/jackson-core">jackson-core</a></td> 
     <td>2.8.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.google.code.gson</td> 
     <td><a class="externalLink" href="http://code.google.com/p/google-gson/">gson</a></td> 
     <td>2.2.4</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.googlecode.juniversalchardet</td> 
     <td><a class="externalLink" href="http://juniversalchardet.googlecode.com/">juniversalchardet</a></td> 
     <td>1.0.3</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla Public License 1.1 (MPL 1.1)</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.googlecode.mp4parser</td> 
     <td><a class="externalLink" href="http://code.google.com/p/mp4parser/">isoparser</a></td> 
     <td>1.1.17</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software License - Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>com.rometools</td> 
     <td><a class="externalLink" href="http://rometools.github.io/rome/">rome</a></td> 
     <td>1.5.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>com.rometools</td> 
     <td><a class="externalLink" href="http://rometools.github.io/rome-utils/">rome-utils</a></td> 
     <td>1.5.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-beanutils</td> 
     <td><a class="externalLink" href="https://commons.apache.org/proper/commons-beanutils/">commons-beanutils</a></td> 
     <td>1.9.3</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-collections</td> 
     <td><a class="externalLink" href="http://commons.apache.org/collections/">commons-collections</a></td> 
     <td>3.2.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-daemon</td> 
     <td><a class="externalLink" href="http://commons.apache.org/daemon/">commons-daemon</a></td> 
     <td>1.0.15</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>commons-fileupload</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-fileupload/">commons-fileupload</a></td> 
     <td>1.3.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>commons-logging</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-logging/">commons-logging</a></td> 
     <td>1.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>de.l3s.boilerpipe</td> 
     <td><a class="externalLink" href="http://code.google.com/p/boilerpipe/">boilerpipe</a></td> 
     <td>1.1.0</td> 
     <td>-</td> 
     <td>jar</td> 
     <td>Apache License 2.0</td> 
    </tr> 
    <tr class="b"> 
     <td>log4j</td> 
     <td>log4j</td> 
     <td>1.2.8</td> 
     <td>-</td> 
     <td>jar</td> 
     <td>-</td> 
    </tr> 
    <tr class="a"> 
     <td>net.sf.ehcache</td> 
     <td><a class="externalLink" href="http://ehcache.org">ehcache-core</a></td> 
     <td>2.6.11</td> 
     <td>-</td> 
     <td>jar</td> 
     <td>src/assemble/EHCACHE-CORE-LICENSE.txt</td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.commons</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-collections/">commons-collections4</a></td> 
     <td>4.0</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.commons</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-compress/">commons-compress</a></td> 
     <td>1.12</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.commons</td> 
     <td><a class="externalLink" href="http://commons.apache.org/proper/commons-lang/">commons-lang3</a></td> 
     <td>3.5</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.httpcomponents</td> 
     <td><a class="externalLink" href="http://hc.apache.org/httpcomponents-client">httpclient</a></td> 
     <td>4.5.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.httpcomponents</td> 
     <td><a class="externalLink" href="http://hc.apache.org/httpcomponents-core-ga">httpcore</a></td> 
     <td>4.4.4</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.james</td> 
     <td><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-core">apache-mime4j-core</a></td> 
     <td>0.7.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.james</td> 
     <td><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-dom">apache-mime4j-dom</a></td> 
     <td>0.7.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.mina</td> 
     <td><a class="externalLink" href="http://mina.apache.org/mina-core/">mina-core</a></td> 
     <td>2.0.16</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.mina</td> 
     <td><a class="externalLink" href="http://mina.apache.org/mina-integration-beans/">mina-integration-beans</a></td> 
     <td>2.0.16</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/jempbox/">jempbox</a></td> 
     <td>1.8.12</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-debugger/">pdfbox-debugger</a></td> 
     <td>2.0.3</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.pdfbox</td> 
     <td><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-tools/">pdfbox-tools</a></td> 
     <td>2.0.3</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.apache.tika</td> 
     <td><a class="externalLink" href="http://tika.apache.org/">tika-core</a></td> 
     <td>1.14</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.apache.tika</td> 
     <td><a class="externalLink" href="http://tika.apache.org/">tika-parsers</a></td> 
     <td>1.14</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.bouncycastle</td> 
     <td><a class="externalLink" href="http://www.bouncycastle.org/java.html">bcprov-jdk15on</a></td> 
     <td>1.55</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.bouncycastle.org/licence.html">Bouncy Castle Licence</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.ccil.cowan.tagsoup</td> 
     <td><a class="externalLink" href="http://home.ccil.org/~cowan/XML/tagsoup/">tagsoup</a></td> 
     <td>1.2.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.codehaus.groovy</td> 
     <td><a class="externalLink" href="http://groovy.codehaus.org/">groovy-all</a></td> 
     <td>2.3.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.osgi</td> 
     <td><a class="externalLink" href="http://www.osgi.org">org.osgi.core</a></td> 
     <td>4.3.1</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://opensource.org/licenses/apache2.0.php">Apache License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.ow2.asm</td> 
     <td><a class="externalLink" href="http://asm.objectweb.org/asm/">asm</a></td> 
     <td>5.0.4</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://asm.objectweb.org/license.html">BSD</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.quartz-scheduler</td> 
     <td><a class="externalLink" href="http://www.quartz-scheduler.org/quartz">quartz</a></td> 
     <td>2.2.3</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-io">red5-io</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-server-common">red5-server-common</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-service">red5-service</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.red5</td> 
     <td><a class="externalLink" href="https://github.com/Red5/red5-service">red5-service</a></td> 
     <td>1.0.8-RELEASE</td> 
     <td>daemon</td> 
     <td>tar.gz</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">jcl-over-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">jul-to-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">log4j-over-slf4j</a></td> 
     <td>1.7.22</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software Licenses</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.slf4j</td> 
     <td><a class="externalLink" href="http://www.slf4j.org">slf4j-api</a></td> 
     <td>1.7.22</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-aop</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-beans</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-context-support</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-expression</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-web</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="b"> 
     <td>org.springframework</td> 
     <td><a class="externalLink" href="https://github.com/spring-projects/spring-framework">spring-webmvc</a></td> 
     <td>4.3.5.RELEASE</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
    <tr class="a"> 
     <td>org.tallison</td> 
     <td><a class="externalLink" href="https://github.com/tballison/jmatio">jmatio</a></td> 
     <td>1.2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.linfo.org/bsdlicense.html">BSD</a></td> 
    </tr> 
    <tr class="b"> 
     <td>xml-apis</td> 
     <td><a class="externalLink" href="http://xml.apache.org/commons/#external">xml-apis</a></td> 
     <td>1.0.b2</td> 
     <td>-</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
 <a name="Project_Transitive_Dependencies_test"></a> 
 <div class="section"> 
  <h3 id="test">test</h3> 
  <p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p> 
  <table border="0" class="bodyTable table table-striped table-hover"> 
   <thead> 
    <tr class="a"> 
     <th>GroupId</th> 
     <th>ArtifactId</th> 
     <th>Version</th> 
     <th>Type</th> 
     <th>Licenses</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr class="b"> 
     <td>org.hamcrest</td> 
     <td><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">hamcrest-core</a></td> 
     <td>1.3</td> 
     <td>jar</td> 
     <td><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></td> 
    </tr> 
   </tbody> 
  </table> 
 </div> 
</div> 
<a name="Project_Dependency_Graph"></a> 
<div class="section"> 
 <h2 id="Project_Dependency_Graph">Project Dependency Graph</h2> 
 <script language="javascript" type="text/javascript">
      function toggleDependencyDetails( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
          img.alt='[Information]';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
          img.alt='[Close]';
        }
      }
</script> 
 <a name="Dependency_Tree"></a> 
 <div class="section"> 
  <h3 id="Dependency_Tree">Dependency Tree</h3> 
  <ul> 
   <li>org.apache.openmeetings:openmeetings-util:jar:3.1.5 <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep0"><i class="icon-info-sign"></i></button> 
    <div id="_dep0" style="" class=" collapse"> 
     <table border="0" class="bodyTable table table-striped table-hover"> 
      <thead> 
       <tr class="a"> 
        <th>Openmeetings Util</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr class="b"> 
        <td> <p><b>Description: </b>TODO</p> <p><b>URL: </b><a class="externalLink" href="http://openmeetings.apache.org/openmeetings-util">http://openmeetings.apache.org/openmeetings-util</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <ul> 
     <li>org.red5:red5-server:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep2"><i class="icon-info-sign"></i></button> 
      <div id="_dep2" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Red5 :: Server</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>The Red5 server</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-server">https://github.com/Red5/red5-server</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.slf4j:slf4j-api:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep4"><i class="icon-info-sign"></i></button> 
        <div id="_dep4" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>SLF4J API Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The slf4j API</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.slf4j:jcl-over-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep6"><i class="icon-info-sign"></i></button> 
        <div id="_dep6" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>JCL 1.1.1 implemented over SLF4J</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>JCL 1.1.1 implemented over SLF4J</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.slf4j:jul-to-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep8"><i class="icon-info-sign"></i></button> 
        <div id="_dep8" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>JUL to SLF4J bridge</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>JUL to SLF4J bridge</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/mit-license.php">MIT License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.slf4j:log4j-over-slf4j:jar:1.7.22 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep10"><i class="icon-info-sign"></i></button> 
        <div id="_dep10" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Log4j Implemented Over SLF4J</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Log4j implemented over SLF4J</p> <p><b>URL: </b><a class="externalLink" href="http://www.slf4j.org">http://www.slf4j.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software Licenses</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>ch.qos.logback:logback-access:jar:1.1.7 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep12"><i class="icon-info-sign"></i></button> 
        <div id="_dep12" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Logback Access Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>logback-access module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-access">http://logback.qos.ch/logback-access</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>ch.qos.logback:logback-core:jar:1.1.7 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep14"><i class="icon-info-sign"></i></button> 
        <div id="_dep14" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Logback Core Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>logback-core module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-core">http://logback.qos.ch/logback-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>ch.qos.logback:logback-classic:jar:1.1.7 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep16"><i class="icon-info-sign"></i></button> 
        <div id="_dep16" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Logback Classic Module</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>logback-classic module</p> <p><b>URL: </b><a class="externalLink" href="http://logback.qos.ch/logback-classic">http://logback.qos.ch/logback-classic</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License - v 1.0</a>, <a class="externalLink" href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">GNU Lesser General Public License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.springframework:spring-context:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep18"><i class="icon-info-sign"></i></button> 
        <div id="_dep18" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Spring Context</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Spring Context</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.springframework:spring-aop:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep20"><i class="icon-info-sign"></i></button> 
          <div id="_dep20" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring AOP</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring AOP</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.springframework:spring-beans:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep22"><i class="icon-info-sign"></i></button> 
          <div id="_dep22" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring Beans</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring Beans</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.springframework:spring-expression:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep24"><i class="icon-info-sign"></i></button> 
          <div id="_dep24" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring Expression Language (SpEL)</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring Expression Language (SpEL)</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.springframework:spring-context-support:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep26"><i class="icon-info-sign"></i></button> 
        <div id="_dep26" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Spring Context Support</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Spring Context Support</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.springframework:spring-webmvc:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep28"><i class="icon-info-sign"></i></button> 
        <div id="_dep28" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Spring Web MVC</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Spring Web MVC</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.springframework:spring-web:jar:4.3.5.RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep30"><i class="icon-info-sign"></i></button> 
          <div id="_dep30" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Spring Web</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Spring Web</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.red5:red5-server-common:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep32"><i class="icon-info-sign"></i></button> 
        <div id="_dep32" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Red5 :: Common server classes</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Classes common for multiple red5 projects</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-server-common">https://github.com/Red5/red5-server-common</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.apache.mina:mina-core:jar:2.0.16 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep34"><i class="icon-info-sign"></i></button> 
          <div id="_dep34" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache MINA Core</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache MINA is a network application framework which helps users develop high performance and highly scalable network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.</p> <p><b>URL: </b><a class="externalLink" href="http://mina.apache.org/mina-core/">http://mina.apache.org/mina-core/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.apache.httpcomponents:httpclient:jar:4.5.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep36"><i class="icon-info-sign"></i></button> 
          <div id="_dep36" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache HttpClient</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache HttpComponents Client</p> <p><b>URL: </b><a class="externalLink" href="http://hc.apache.org/httpcomponents-client">http://hc.apache.org/httpcomponents-client</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>org.apache.httpcomponents:httpcore:jar:4.4.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep38"><i class="icon-info-sign"></i></button> 
            <div id="_dep38" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache HttpCore</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache HttpComponents Core (blocking I/O)</p> <p><b>URL: </b><a class="externalLink" href="http://hc.apache.org/httpcomponents-core-ga">http://hc.apache.org/httpcomponents-core-ga</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>commons-beanutils:commons-beanutils:jar:1.9.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep40"><i class="icon-info-sign"></i></button> 
          <div id="_dep40" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Commons BeanUtils</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around reflection and introspection.</p> <p><b>URL: </b><a class="externalLink" href="https://commons.apache.org/proper/commons-beanutils/">https://commons.apache.org/proper/commons-beanutils/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>commons-logging:commons-logging:jar:1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep42"><i class="icon-info-sign"></i></button> 
            <div id="_dep42" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Commons Logging</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-logging/">http://commons.apache.org/proper/commons-logging/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>commons-collections:commons-collections:jar:3.2.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep44"><i class="icon-info-sign"></i></button> 
            <div id="_dep44" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Commons Collections</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Types that extend and augment the Java Collections Framework.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/collections/">http://commons.apache.org/collections/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>org.bouncycastle:bcprov-jdk15on:jar:1.55 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep46"><i class="icon-info-sign"></i></button> 
          <div id="_dep46" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Bouncy Castle Provider</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.</p> <p><b>URL: </b><a class="externalLink" href="http://www.bouncycastle.org/java.html">http://www.bouncycastle.org/java.html</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.bouncycastle.org/licence.html">Bouncy Castle Licence</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.red5:red5-io:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep48"><i class="icon-info-sign"></i></button> 
        <div id="_dep48" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Red5 :: IO</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The Red5 I/O library</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-io">https://github.com/Red5/red5-io</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.apache.tika:tika-core:jar:1.14 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep50"><i class="icon-info-sign"></i></button> 
          <div id="_dep50" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Tika core</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>This is the core Apache Tika™ toolkit library from which all other modules inherit functionality. It also includes the core facades for the Tika API.</p> <p><b>URL: </b><a class="externalLink" href="http://tika.apache.org/">http://tika.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>org.apache.tika:tika-parsers:jar:1.14 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep52"><i class="icon-info-sign"></i></button> 
          <div id="_dep52" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Apache Tika parsers</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache Tika is a toolkit for detecting and extracting metadata and structured text content from various documents using existing parser libraries.</p> <p><b>URL: </b><a class="externalLink" href="http://tika.apache.org/">http://tika.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div> 
          <ul> 
           <li>org.tallison:jmatio:jar:1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep54"><i class="icon-info-sign"></i></button> 
            <div id="_dep54" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>JMatIO</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Matlab's MAT-file I/O API in JAVA. Supports Matlab 5 MAT-flie format reading and writing. Written in pure JAVA.</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/tballison/jmatio">https://github.com/tballison/jmatio</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.linfo.org/bsdlicense.html">BSD</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.james:apache-mime4j-core:jar:0.7.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep56"><i class="icon-info-sign"></i></button> 
            <div id="_dep56" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache JAMES Mime4j (Core)</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Java stream based MIME message parser</p> <p><b>URL: </b><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-core">http://james.apache.org/mime4j/apache-mime4j-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.james:apache-mime4j-dom:jar:0.7.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep58"><i class="icon-info-sign"></i></button> 
            <div id="_dep58" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache JAMES Mime4j (DOM)</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Java MIME Document Object Model</p> <p><b>URL: </b><a class="externalLink" href="http://james.apache.org/mime4j/apache-mime4j-dom">http://james.apache.org/mime4j/apache-mime4j-dom</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.commons:commons-compress:jar:1.12 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep60"><i class="icon-info-sign"></i></button> 
            <div id="_dep60" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache Commons Compress</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Apache Commons Compress software defines an API for working with compression and archive formats. These include: bzip2, gzip, pack200, lzma, xz, Snappy, traditional Unix Compress, DEFLATE and ar, cpio, jar, tar, zip, dump, 7z, arj.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-compress/">http://commons.apache.org/proper/commons-compress/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.apache.pdfbox:pdfbox-tools:jar:2.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep62"><i class="icon-info-sign"></i></button> 
            <div id="_dep62" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache PDFBox tools</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>The Apache PDFBox library is an open source Java tool for working with PDF documents. This artefact contains commandline tools using Apache PDFBox.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-tools/">http://www.apache.org/pdfbox-parent/pdfbox-tools/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
            <ul> 
             <li>org.apache.pdfbox:pdfbox-debugger:jar:2.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep64"><i class="icon-info-sign"></i></button> 
              <div id="_dep64" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>Apache PDFBox Debugger</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The Apache PDFBox library is an open source Java tool for working with PDF documents. This artefact contains the PDFDebugger.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/pdfbox-debugger/">http://www.apache.org/pdfbox-parent/pdfbox-debugger/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
            </ul></li> 
           <li>org.apache.pdfbox:jempbox:jar:1.8.12 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep66"><i class="icon-info-sign"></i></button> 
            <div id="_dep66" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Apache JempBox</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>The Apache JempBox library is an open source Java tool that implements Adobe's XMP(TM) specification. JempBox is a subproject of Apache PDFBox.</p> <p><b>URL: </b><a class="externalLink" href="http://www.apache.org/pdfbox-parent/jempbox/">http://www.apache.org/pdfbox-parent/jempbox/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.ccil.cowan.tagsoup:tagsoup:jar:1.2.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep68"><i class="icon-info-sign"></i></button> 
            <div id="_dep68" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>TagSoup</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>TagSoup is a SAX-compliant parser written in Java that, instead of parsing well-formed or valid XML, parses HTML as it is found in the wild: poor, nasty and brutish, though quite often far from short. TagSoup is designed for people who have to process this stuff using some semblance of a rational application design. By providing a SAX interface, it allows standard XML tools to be applied to even the worst HTML. TagSoup also includes a command-line processor that reads HTML files and can generate either clean HTML or well-formed XML that is a close approximation to XHTML.</p> <p><b>URL: </b><a class="externalLink" href="http://home.ccil.org/~cowan/XML/tagsoup/">http://home.ccil.org/~cowan/XML/tagsoup/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>org.ow2.asm:asm:jar:5.0.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep70"><i class="icon-info-sign"></i></button> 
            <div id="_dep70" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>ASM Core</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>A very small and fast Java bytecode manipulation framework</p> <p><b>URL: </b><a class="externalLink" href="http://asm.objectweb.org/asm/">http://asm.objectweb.org/asm/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://asm.objectweb.org/license.html">BSD</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>com.drewnoakes:metadata-extractor:jar:2.9.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep72"><i class="icon-info-sign"></i></button> 
            <div id="_dep72" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>com.drewnoakes:metadata-extractor</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Java library for extracting EXIF, IPTC, XMP, ICC and other metadata from image files.</p> <p><b>URL: </b><a class="externalLink" href="https://drewnoakes.com/code/exif/">https://drewnoakes.com/code/exif/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
            <ul> 
             <li>com.adobe.xmp:xmpcore:jar:5.1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep74"><i class="icon-info-sign"></i></button> 
              <div id="_dep74" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>XMP Library for Java</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>The XMP Library for Java is based on the C++ XMPCore library and the API is similar.</p> <p><b>URL: </b><a class="externalLink" href="http://www.adobe.com/devnet/xmp.html">http://www.adobe.com/devnet/xmp.html</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html">The BSD License</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
            </ul></li> 
           <li>de.l3s.boilerpipe:boilerpipe:jar:1.1.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep76"><i class="icon-info-sign"></i></button> 
            <div id="_dep76" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Boilerpipe -- Boilerplate Removal and Fulltext Extraction from HTML pages</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>The boilerpipe library provides algorithms to detect and remove the surplus &quot;clutter&quot; (boilerplate, templates) around the main textual content of a web page. The library already provides specific strategies for common tasks (for example: news article extraction) and may also be easily extended for individual problem settings. Extracting content is very fast (milliseconds), just needs the input document (no global or site-level information required) and is usually quite accurate. Boilerpipe is a Java library written by Christian Kohlsch&uuml;tter. It is released under the Apache License 2.0. The algorithms used by the library are based on (and extending) some concepts of the paper &quot;Boilerplate Detection using Shallow Text Features&quot; by Christian Kohlsch&uuml;tter et al., presented at WSDM 2010 -- The Third ACM International Conference on Web Search and Data Mining New York City, NY USA.</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/boilerpipe/">http://code.google.com/p/boilerpipe/</a></p> <p><b>Project Licenses: </b>Apache License 2.0</p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>com.rometools:rome:jar:1.5.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep78"><i class="icon-info-sign"></i></button> 
            <div id="_dep78" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>rome</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>All Roads Lead to ROME. ROME is a set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats. Today it accepts all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0), Atom 0.3 and Atom 1.0 feeds. Rome includes a set of parsers and generators for the various flavors of feeds, as well as converters to convert from one format to another. The parsers can give you back Java objects that are either specific for the format you want to work with, or a generic normalized SyndFeed object that lets you work on with the data without bothering about the underlying format.</p> <p><b>URL: </b><a class="externalLink" href="http://rometools.github.io/rome/">http://rometools.github.io/rome/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
            <ul> 
             <li>com.rometools:rome-utils:jar:1.5.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep80"><i class="icon-info-sign"></i></button> 
              <div id="_dep80" style="" class=" collapse"> 
               <table border="0" class="bodyTable table table-striped table-hover"> 
                <thead> 
                 <tr class="a"> 
                  <th>rome-utils</th> 
                 </tr> 
                </thead> 
                <tbody> 
                 <tr class="b"> 
                  <td> <p><b>Description: </b>Utility classes for ROME projects</p> <p><b>URL: </b><a class="externalLink" href="http://rometools.github.io/rome-utils/">http://rometools.github.io/rome-utils/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
                 </tr> 
                </tbody> 
               </table> 
              </div></li> 
            </ul></li> 
           <li>com.googlecode.juniversalchardet:juniversalchardet:jar:1.0.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep82"><i class="icon-info-sign"></i></button> 
            <div id="_dep82" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>juniversalchardet</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Java port of universalchardet</p> <p><b>URL: </b><a class="externalLink" href="http://juniversalchardet.googlecode.com/">http://juniversalchardet.googlecode.com/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla Public License 1.1 (MPL 1.1)</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>com.google.code.gson:gson:jar:2.2.4 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep84"><i class="icon-info-sign"></i></button> 
            <div id="_dep84" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Gson</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Google Gson library</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/google-gson/">http://code.google.com/p/google-gson/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
           <li>com.fasterxml.jackson.core:jackson-core:jar:2.8.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep86"><i class="icon-info-sign"></i></button> 
            <div id="_dep86" style="" class=" collapse"> 
             <table border="0" class="bodyTable table table-striped table-hover"> 
              <thead> 
               <tr class="a"> 
                <th>Jackson-core</th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr class="b"> 
                <td> <p><b>Description: </b>Core Jackson abstractions, basic JSON streaming API implementation</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/FasterXML/jackson-core">https://github.com/FasterXML/jackson-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
               </tr> 
              </tbody> 
             </table> 
            </div></li> 
          </ul></li> 
         <li>net.sf.ehcache:ehcache-core:jar:2.6.11 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep88"><i class="icon-info-sign"></i></button> 
          <div id="_dep88" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Ehcache Core</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>This is the ehcache core module. Pair it with other modules for added functionality.</p> <p><b>URL: </b><a class="externalLink" href="http://ehcache.org">http://ehcache.org</a></p> <p><b>Project Licenses: </b><a href="src/assemble/EHCACHE-CORE-LICENSE.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
         <li>com.googlecode.mp4parser:isoparser:jar:1.1.17 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep90"><i class="icon-info-sign"></i></button> 
          <div id="_dep90" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>ISO Parser</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>A generic parser and writer for all ISO 14496 based files (MP4, Quicktime, DCF, PDCF, ...)</p> <p><b>URL: </b><a class="externalLink" href="http://code.google.com/p/mp4parser/">http://code.google.com/p/mp4parser/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software License - Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.red5:red5-service:jar:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep92"><i class="icon-info-sign"></i></button> 
        <div id="_dep92" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Red5 :: Service</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The Red5 server service daemon</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-service">https://github.com/Red5/red5-service</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>commons-daemon:commons-daemon:jar:1.0.15 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep94"><i class="icon-info-sign"></i></button> 
          <div id="_dep94" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>Commons Daemon</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>Apache Commons Daemon software provides an alternative invocation mechanism for unix-daemon-like Java code.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/daemon/">http://commons.apache.org/daemon/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.red5:red5-service:tar.gz:daemon:1.0.8-RELEASE (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep96"><i class="icon-info-sign"></i></button> 
        <div id="_dep96" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Red5 :: Service</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The Red5 server service daemon</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/Red5/red5-service">https://github.com/Red5/red5-service</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.apache.mina:mina-integration-beans:jar:2.0.16 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep98"><i class="icon-info-sign"></i></button> 
        <div id="_dep98" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Apache MINA JavaBeans Integration</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Apache MINA is a network application framework which helps users develop high performance and highly scalable network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.</p> <p><b>URL: </b><a class="externalLink" href="http://mina.apache.org/mina-integration-beans/">http://mina.apache.org/mina-integration-beans/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.quartz-scheduler:quartz:jar:2.2.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep100"><i class="icon-info-sign"></i></button> 
        <div id="_dep100" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>quartz</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Enterprise Job Scheduler</p> <p><b>URL: </b><a class="externalLink" href="http://www.quartz-scheduler.org/quartz">http://www.quartz-scheduler.org/quartz</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>commons-transaction:commons-transaction:jar:1.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep102"><i class="icon-info-sign"></i></button> 
      <div id="_dep102" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Transaction</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Commons Transaction</p> <p><b>URL: </b>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</p> <p><b>Project Licenses: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>log4j:log4j:jar:1.2.8 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep104"><i class="icon-info-sign"></i></button> 
        <div id="_dep104" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>log4j</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>There is currently no description associated with this project.</p> <p><b>Project Licenses: </b>No licenses are defined for this project.</p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>dom4j:dom4j:jar:1.6.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep106"><i class="icon-info-sign"></i></button> 
      <div id="_dep106" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>dom4j</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>dom4j: the flexible XML framework for Java</p> <p><b>URL: </b><a class="externalLink" href="http://dom4j.org">http://dom4j.org</a></p> <p><b>Project Licenses: </b>No licenses are defined for this project.</p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>xml-apis:xml-apis:jar:1.0.b2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep108"><i class="icon-info-sign"></i></button> 
        <div id="_dep108" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>XML Commons External Components XML APIs</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and JAXP interfaces for use in other xml-based projects. Our hope is that we can standardize on both a common version and packaging scheme for these critical XML standards interfaces to make the lives of both our developers and users easier. The External Components portion of xml-commons contains interfaces that are defined by external standards organizations. For DOM, that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for JAXP it's Sun.</p> <p><b>URL: </b><a class="externalLink" href="http://xml.apache.org/commons/#external">http://xml.apache.org/commons/#external</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.mnode.ical4j:ical4j:jar:2.0.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep110"><i class="icon-info-sign"></i></button> 
      <div id="_dep110" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>ical4j</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>A Java library for reading and writing iCalendar (*.ics) files</p> <p><b>URL: </b><a class="externalLink" href="http://ical4j.sourceforge.net">http://ical4j.sourceforge.net</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://raw.githubusercontent.com/ical4j/ical4j/master/LICENSE">iCal4j - License</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.apache.commons:commons-collections4:jar:4.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep112"><i class="icon-info-sign"></i></button> 
        <div id="_dep112" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Apache Commons Collections</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The Apache Commons Collections package contains types that extend and augment the Java Collections Framework.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-collections/">http://commons.apache.org/proper/commons-collections/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>org.codehaus.groovy:groovy-all:jar:2.3.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep114"><i class="icon-info-sign"></i></button> 
        <div id="_dep114" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Groovy</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Groovy: A powerful, dynamic language for the JVM</p> <p><b>URL: </b><a class="externalLink" href="http://groovy.codehaus.org/">http://groovy.codehaus.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
       <li>biz.aQute.bnd:bndlib:jar:2.3.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep116"><i class="icon-info-sign"></i></button> 
        <div id="_dep116" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>A Swiss Army Knife for OSGi</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The bndlib project is a general library to be used with OSGi bundles. It contains lots of cool functionality that calculates dependencies, etc.</p> <p><b>URL: </b><a class="externalLink" href="http://www.aQute.biz/Code/Bnd/bndlib">http://www.aQute.biz/Code/Bnd/bndlib</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/apache2.0.php">Apache Software License 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div> 
        <ul> 
         <li>org.osgi:org.osgi.core:jar:4.3.1 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep118"><i class="icon-info-sign"></i></button> 
          <div id="_dep118" style="" class=" collapse"> 
           <table border="0" class="bodyTable table table-striped table-hover"> 
            <thead> 
             <tr class="a"> 
              <th>osgi.core</th> 
             </tr> 
            </thead> 
            <tbody> 
             <tr class="b"> 
              <td> <p><b>Description: </b>OSGi Service Platform Release 4 Version 4.3, Core Interfaces and Classes for use in compiling bundles.</p> <p><b>URL: </b><a class="externalLink" href="http://www.osgi.org">http://www.osgi.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://opensource.org/licenses/apache2.0.php">Apache License, Version 2.0</a></p></td> 
             </tr> 
            </tbody> 
           </table> 
          </div></li> 
        </ul></li> 
       <li>org.apache.commons:commons-lang3:jar:3.5 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep120"><i class="icon-info-sign"></i></button> 
        <div id="_dep120" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Apache Commons Lang</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-lang/">http://commons.apache.org/proper/commons-lang/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>commons-codec:commons-codec:jar:1.10 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep122"><i class="icon-info-sign"></i></button> 
      <div id="_dep122" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Apache Commons Codec</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>The Apache Commons 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.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-codec/">http://commons.apache.org/proper/commons-codec/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>commons-io:commons-io:jar:2.5 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep124"><i class="icon-info-sign"></i></button> 
      <div id="_dep124" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Apache Commons IO</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-io/">http://commons.apache.org/proper/commons-io/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>org.apache.wicket:wicket-util:jar:7.6.0 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep126"><i class="icon-info-sign"></i></button> 
      <div id="_dep126" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Wicket Util</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Wicket is a Java-based open source component web application framework.</p> <p><b>URL: </b><a class="externalLink" href="http://wicket.apache.org/wicket-util">http://wicket.apache.org/wicket-util</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>commons-fileupload:commons-fileupload:jar:1.3.2 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep128"><i class="icon-info-sign"></i></button> 
        <div id="_dep128" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Apache Commons FileUpload</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications.</p> <p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/proper/commons-fileupload/">http://commons.apache.org/proper/commons-fileupload/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache License, Version 2.0</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.threeten:threetenbp:jar:1.3.3 (compile) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep130"><i class="icon-info-sign"></i></button> 
      <div id="_dep130" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>ThreeTen backport</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Backport of JSR-310 from JDK 8 to JDK 7 and JDK 6. NOT an implementation of the JSR.</p> <p><b>URL: </b><a class="externalLink" href="https://www.threeten.org/threetenbp">https://www.threeten.org/threetenbp</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="https://raw.githubusercontent.com/ThreeTen/threetenbp/master/LICENSE.txt">BSD 3-clause</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>junit:junit:jar:4.12 (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep132"><i class="icon-info-sign"></i></button> 
      <div id="_dep132" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>JUnit</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.</p> <p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
      <ul> 
       <li>org.hamcrest:hamcrest-core:jar:1.3 (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep134"><i class="icon-info-sign"></i></button> 
        <div id="_dep134" style="" class=" collapse"> 
         <table border="0" class="bodyTable table table-striped table-hover"> 
          <thead> 
           <tr class="a"> 
            <th>Hamcrest Core</th> 
           </tr> 
          </thead> 
          <tbody> 
           <tr class="b"> 
            <td> <p><b>Description: </b>This is the core API of hamcrest matcher framework to be used by third-party framework providers. This includes the a foundation set of matcher implementations for common operations.</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">https://github.com/hamcrest/JavaHamcrest/hamcrest-core</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></p></td> 
           </tr> 
          </tbody> 
         </table> 
        </div></li> 
      </ul></li> 
     <li>org.springframework:spring-core:jar:4.3.5.RELEASE (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep136"><i class="icon-info-sign"></i></button> 
      <div id="_dep136" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring Core</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring Core</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>org.springframework:spring-test:jar:4.3.5.RELEASE (test) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep138"><i class="icon-info-sign"></i></button> 
      <div id="_dep138" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>Spring TestContext Framework</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>Spring TestContext Framework</p> <p><b>URL: </b><a class="externalLink" href="https://github.com/spring-projects/spring-framework">https://github.com/spring-projects/spring-framework</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
     <li>org.apache.tomcat:tomcat-servlet-api:jar:8.5.9 (provided) <button title="Information" class="btn btn-link btn-small" type="button" data-toggle="collapse" data-target="#_dep140"><i class="icon-info-sign"></i></button> 
      <div id="_dep140" style="" class=" collapse"> 
       <table border="0" class="bodyTable table table-striped table-hover"> 
        <thead> 
         <tr class="a"> 
          <th>tomcat-servlet-api</th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr class="b"> 
          <td> <p><b>Description: </b>javax.servlet package</p> <p><b>URL: </b><a class="externalLink" href="http://tomcat.apache.org/">http://tomcat.apache.org/</a></p> <p><b>Project Licenses: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt and
        http://www.opensource.org/licenses/cddl1.txt">Apache License, Version 2.0 and Common Development And Distribution License (CDDL) Version 1.0</a></p></td> 
         </tr> 
        </tbody> 
       </table> 
      </div></li> 
    </ul></li> 
  </ul> 
 </div> 
</div> 
<a name="Licenses"></a> 
<div class="section"> 
 <h2 id="Licenses">Licenses</h2> 
 <p><b>Apache License, Version 2.0 and Common Development And Distribution License (CDDL) Version 1.0: </b>tomcat-servlet-api</p> 
 <p><b>Apache Software License - Version 2.0: </b>ISO Parser</p> 
 <p><b>The BSD License: </b>XMP Library for Java</p> 
 <p><b>Eclipse Public License 1.0: </b>JUnit</p> 
 <p><b>MIT License: </b>JCL 1.1.1 implemented over SLF4J, JUL to SLF4J bridge, SLF4J API Module</p> 
 <p><b>GNU Lesser General Public License: </b>Logback Access Module, Logback Classic Module, Logback Core Module</p> 
 <p><b>New BSD License: </b>Hamcrest Core</p> 
 <p><b>Bouncy Castle Licence: </b>Bouncy Castle Provider</p> 
 <p><b>Apache Software License 2.0: </b>A Swiss Army Knife for OSGi</p> 
 <p><b>Apache 2: </b>Red5 :: Common server classes, Red5 :: IO, Red5 :: Server, Red5 :: Service</p> 
 <p><b>BSD 3-clause: </b>ThreeTen backport</p> 
 <p><b>BSD: </b>ASM Core, JMatIO</p> 
 <p><b>Apache Software Licenses: </b>Log4j Implemented Over SLF4J</p> 
 <p><b>Unknown: </b>dom4j, log4j</p> 
 <p><b>Apache License 2.0: </b>Boilerpipe -- Boilerplate Removal and Fulltext Extraction from HTML pages, TagSoup</p> 
 <p><b>iCal4j - License: </b>ical4j</p> 
 <p><b>Apache 2.0 License: </b>Apache MINA Core, Apache MINA JavaBeans Integration</p> 
 <p><b>Apache License, Version 2.0: </b>Apache Commons BeanUtils, Apache Commons Codec, Apache Commons Collections, Apache Commons Compress, Apache Commons FileUpload, Apache Commons IO, Apache Commons Lang, Apache HttpClient, Apache HttpCore, Apache JempBox, Apache PDFBox Debugger, Apache PDFBox tools, Apache Tika core, Apache Tika parsers, osgi.core</p> 
 <p><b>Mozilla Public License 1.1 (MPL 1.1): </b>juniversalchardet</p> 
 <p><b>The Apache Software License, Version 2.0: </b>Apache Commons Collections, Apache Commons Logging, Apache JAMES Mime4j (Core), Apache JAMES Mime4j (DOM), Commons Daemon, Ehcache Core, Groovy, Gson, Jackson-core, Openmeetings Util, Spring AOP, Spring Beans, Spring Context, Spring Context Support, Spring Core, Spring Expression Language (SpEL), Spring TestContext Framework, Spring Web, Spring Web MVC, Transaction, Wicket Util, XML Commons External Components XML APIs, com.drewnoakes:metadata-extractor, quartz, rome, rome-utils</p> 
 <p><b>Eclipse Public License - v 1.0: </b>Logback Access Module, Logback Classic Module, Logback Core Module</p> 
</div> 
<a name="Dependency_File_Details"></a> 
<div class="section"> 
 <h2 id="Dependency_File_Details">Dependency File Details</h2> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="b"> 
    <th>Total</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th>Debug Information</th> 
   </tr> 
  </thead> 
  <thead> 
   <tr class="a"> 
    <th>Filename</th> 
    <th>Size</th> 
    <th>Entries</th> 
    <th>Classes</th> 
    <th>Packages</th> 
    <th>Java Version</th> 
    <th title="Indicates whether these dependencies have been compiled with debug information.">Debug Information</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td>bndlib-2.3.0.jar</td> 
    <td>1.8 MB</td> 
    <td>1412</td> 
    <td>621</td> 
    <td>96</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>logback-access-1.1.7.jar</td> 
    <td>106.8 kB</td> 
    <td>117</td> 
    <td>84</td> 
    <td>15</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>logback-classic-1.1.7.jar</td> 
    <td>304.1 kB</td> 
    <td>231</td> 
    <td>175</td> 
    <td>26</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>logback-core-1.1.7.jar</td> 
    <td>470.8 kB</td> 
    <td>418</td> 
    <td>372</td> 
    <td>36</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>xmpcore-5.1.2.jar</td> 
    <td>117.3 kB</td> 
    <td>64</td> 
    <td>55</td> 
    <td>5</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>metadata-extractor-2.9.1.jar</td> 
    <td>378.3 kB</td> 
    <td>236</td> 
    <td>193</td> 
    <td>34</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>jackson-core-2.8.1.jar</td> 
    <td>280 kB</td> 
    <td>117</td> 
    <td>94</td> 
    <td>9</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>gson-2.2.4.jar</td> 
    <td>190.4 kB</td> 
    <td>163</td> 
    <td>153</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>juniversalchardet-1.0.3.jar</td> 
    <td>220.8 kB</td> 
    <td>77</td> 
    <td>62</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>isoparser-1.1.17.jar</td> 
    <td>1.1 MB</td> 
    <td>695</td> 
    <td>608</td> 
    <td>61</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>rome-1.5.1.jar</td> 
    <td>242.8 kB</td> 
    <td>144</td> 
    <td>123</td> 
    <td>10</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>rome-utils-1.5.1.jar</td> 
    <td>6.8 kB</td> 
    <td>18</td> 
    <td>7</td> 
    <td>1</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-beanutils-1.9.3.jar</td> 
    <td>246.2 kB</td> 
    <td>154</td> 
    <td>137</td> 
    <td>5</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-codec-1.10.jar</td> 
    <td>284.2 kB</td> 
    <td>238</td> 
    <td>92</td> 
    <td>6</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-collections-3.2.2.jar</td> 
    <td>588.3 kB</td> 
    <td>484</td> 
    <td>460</td> 
    <td>12</td> 
    <td>1.3</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-daemon-1.0.15.jar</td> 
    <td>24.3 kB</td> 
    <td>28</td> 
    <td>14</td> 
    <td>2</td> 
    <td>1.3</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-fileupload-1.3.2.jar</td> 
    <td>70.3 kB</td> 
    <td>67</td> 
    <td>49</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-io-2.5.jar</td> 
    <td>208.7 kB</td> 
    <td>142</td> 
    <td>123</td> 
    <td>7</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-logging-1.2.jar</td> 
    <td>61.8 kB</td> 
    <td>42</td> 
    <td>28</td> 
    <td>2</td> 
    <td>1.2</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-transaction-1.2.jar</td> 
    <td>96.1 kB</td> 
    <td>73</td> 
    <td>59</td> 
    <td>6</td> 
    <td>1.3</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>boilerpipe-1.1.0.jar</td> 
    <td>92 kB</td> 
    <td>95</td> 
    <td>76</td> 
    <td>12</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>dom4j-1.6.1.jar</td> 
    <td>313.9 kB</td> 
    <td>208</td> 
    <td>190</td> 
    <td>14</td> 
    <td>1.3</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>junit-4.12.jar</td> 
    <td>314.9 kB</td> 
    <td>323</td> 
    <td>286</td> 
    <td>30</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>log4j-1.2.8.jar</td> 
    <td>352.7 kB</td> 
    <td>274</td> 
    <td>244</td> 
    <td>19</td> 
    <td>1.2</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>ehcache-core-2.6.11.jar</td> 
    <td>1.3 MB</td> 
    <td>1042</td> 
    <td>961</td> 
    <td>65</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-collections4-4.0.jar</td> 
    <td>610.3 kB</td> 
    <td>459</td> 
    <td>431</td> 
    <td>16</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>commons-compress-1.12.jar</td> 
    <td>442.6 kB</td> 
    <td>268</td> 
    <td>233</td> 
    <td>23</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>commons-lang3-3.5.jar</td> 
    <td>479.9 kB</td> 
    <td>284</td> 
    <td>260</td> 
    <td>12</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>httpclient-4.5.2.jar</td> 
    <td>736.7 kB</td> 
    <td>504</td> 
    <td>463</td> 
    <td>24</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>httpcore-4.4.4.jar</td> 
    <td>326.7 kB</td> 
    <td>284</td> 
    <td>254</td> 
    <td>17</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>apache-mime4j-core-0.7.2.jar</td> 
    <td>95.5 kB</td> 
    <td>80</td> 
    <td>61</td> 
    <td>6</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>apache-mime4j-dom-0.7.2.jar</td> 
    <td>304.8 kB</td> 
    <td>228</td> 
    <td>192</td> 
    <td>13</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>mina-core-2.0.16.jar</td> 
    <td>651.3 kB</td> 
    <td>483</td> 
    <td>422</td> 
    <td>45</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>mina-integration-beans-2.0.16.jar</td> 
    <td>41.5 kB</td> 
    <td>46</td> 
    <td>31</td> 
    <td>1</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>jempbox-1.8.12.jar</td> 
    <td>51.4 kB</td> 
    <td>40</td> 
    <td>24</td> 
    <td>3</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>pdfbox-debugger-2.0.3.jar</td> 
    <td>226.3 kB</td> 
    <td>152</td> 
    <td>114</td> 
    <td>12</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>pdfbox-tools-2.0.3.jar</td> 
    <td>69.7 kB</td> 
    <td>41</td> 
    <td>26</td> 
    <td>2</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>tika-core-1.14.jar</td> 
    <td>619.2 kB</td> 
    <td>351</td> 
    <td>288</td> 
    <td>19</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>tika-parsers-1.14.jar</td> 
    <td>873.9 kB</td> 
    <td>491</td> 
    <td>392</td> 
    <td>68</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>tomcat-servlet-api-8.5.9.jar</td> 
    <td>243.8 kB</td> 
    <td>127</td> 
    <td>82</td> 
    <td>4</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>wicket-util-7.6.0.jar</td> 
    <td>379.2 kB</td> 
    <td>322</td> 
    <td>271</td> 
    <td>25</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>bcprov-jdk15on-1.55.jar</td> 
    <td>3.4 MB</td> 
    <td>2931</td> 
    <td>2784</td> 
    <td>136</td> 
    <td>1.5</td> 
    <td>No</td> 
   </tr> 
   <tr class="b"> 
    <td>tagsoup-1.2.1.jar</td> 
    <td>90.7 kB</td> 
    <td>29</td> 
    <td>22</td> 
    <td>2</td> 
    <td>1.4</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>groovy-all-2.3.2.jar</td> 
    <td>7.3 MB</td> 
    <td>4482</td> 
    <td>4237</td> 
    <td>112</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>hamcrest-core-1.3.jar</td> 
    <td>45 kB</td> 
    <td>52</td> 
    <td>45</td> 
    <td>3</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>ical4j-2.0.0.jar</td> 
    <td>1.2 MB</td> 
    <td>1441</td> 
    <td>464</td> 
    <td>12</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>org.osgi.core-4.3.1.jar</td> 
    <td>350 kB</td> 
    <td>254</td> 
    <td>106</td> 
    <td>13</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>asm-5.0.4.jar</td> 
    <td>53.3 kB</td> 
    <td>30</td> 
    <td>25</td> 
    <td>2</td> 
    <td>1.2</td> 
    <td>No</td> 
   </tr> 
   <tr class="b"> 
    <td>quartz-2.2.3.jar</td> 
    <td>660.5 kB</td> 
    <td>398</td> 
    <td>350</td> 
    <td>31</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>red5-io-1.0.8-RELEASE.jar</td> 
    <td>329.7 kB</td> 
    <td>230</td> 
    <td>183</td> 
    <td>30</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>red5-server-1.0.8-RELEASE.jar</td> 
    <td>281.5 kB</td> 
    <td>224</td> 
    <td>165</td> 
    <td>49</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>red5-server-common-1.0.8-RELEASE.jar</td> 
    <td>530.3 kB</td> 
    <td>378</td> 
    <td>327</td> 
    <td>41</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>red5-service-1.0.8-RELEASE.jar</td> 
    <td>20.1 kB</td> 
    <td>21</td> 
    <td>7</td> 
    <td>4</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>red5-service-1.0.8-RELEASE-daemon.tar.gz</td> 
    <td>43.2 kB</td> 
    <td>-</td> 
    <td>-</td> 
    <td>-</td> 
    <td>-</td> 
    <td>-</td> 
   </tr> 
   <tr class="b"> 
    <td>jcl-over-slf4j-1.7.22.jar</td> 
    <td>16.5 kB</td> 
    <td>23</td> 
    <td>9</td> 
    <td>2</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>jul-to-slf4j-1.7.22.jar</td> 
    <td>4.6 kB</td> 
    <td>11</td> 
    <td>1</td> 
    <td>1</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>log4j-over-slf4j-1.7.22.jar</td> 
    <td>23.6 kB</td> 
    <td>43</td> 
    <td>30</td> 
    <td>4</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>slf4j-api-1.7.22.jar</td> 
    <td>41.1 kB</td> 
    <td>46</td> 
    <td>34</td> 
    <td>4</td> 
    <td>1.5</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-aop-4.3.5.RELEASE.jar</td> 
    <td>380.1 kB</td> 
    <td>306</td> 
    <td>269</td> 
    <td>17</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-beans-4.3.5.RELEASE.jar</td> 
    <td>761.5 kB</td> 
    <td>463</td> 
    <td>408</td> 
    <td>15</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-context-4.3.5.RELEASE.jar</td> 
    <td>1.1 MB</td> 
    <td>889</td> 
    <td>767</td> 
    <td>66</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-context-support-4.3.5.RELEASE.jar</td> 
    <td>187.2 kB</td> 
    <td>142</td> 
    <td>118</td> 
    <td>14</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-core-4.3.5.RELEASE.jar</td> 
    <td>1.1 MB</td> 
    <td>833</td> 
    <td>786</td> 
    <td>40</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-expression-4.3.5.RELEASE.jar</td> 
    <td>263.3 kB</td> 
    <td>156</td> 
    <td>142</td> 
    <td>6</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-test-4.3.5.RELEASE.jar</td> 
    <td>598.9 kB</td> 
    <td>483</td> 
    <td>443</td> 
    <td>31</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>spring-web-4.3.5.RELEASE.jar</td> 
    <td>816.3 kB</td> 
    <td>607</td> 
    <td>558</td> 
    <td>37</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>spring-webmvc-4.3.5.RELEASE.jar</td> 
    <td>914.4 kB</td> 
    <td>551</td> 
    <td>498</td> 
    <td>30</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>jmatio-1.2.jar</td> 
    <td>72.6 kB</td> 
    <td>53</td> 
    <td>38</td> 
    <td>5</td> 
    <td>1.7</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="b"> 
    <td>threetenbp-1.3.3.jar</td> 
    <td>511.4 kB</td> 
    <td>223</td> 
    <td>203</td> 
    <td>6</td> 
    <td>1.6</td> 
    <td>Yes</td> 
   </tr> 
   <tr class="a"> 
    <td>xml-apis-1.0.b2.jar</td> 
    <td>109.3 kB</td> 
    <td>217</td> 
    <td>184</td> 
    <td>17</td> 
    <td>1.2</td> 
    <td>No</td> 
   </tr> 
   <tr class="a"> 
    <td>70</td> 
    <td>36.5 MB</td> 
    <td>26538</td> 
    <td>22013</td> 
    <td>1511</td> 
    <td>1.7</td> 
    <td>66</td> 
   </tr> 
   <tr class="b"> 
    <td>compile: 65</td> 
    <td>compile: 34.2 MB</td> 
    <td>compile: 24720</td> 
    <td>compile: 20371</td> 
    <td>compile: 1403</td> 
    <td>-</td> 
    <td>compile: 61</td> 
   </tr> 
   <tr class="a"> 
    <td>test: 4</td> 
    <td>test: 2.1 MB</td> 
    <td>test: 1691</td> 
    <td>test: 1560</td> 
    <td>test: 104</td> 
    <td>-</td> 
    <td>test: 4</td> 
   </tr> 
   <tr class="b"> 
    <td>provided: 1</td> 
    <td>provided: 243.8 kB</td> 
    <td>provided: 127</td> 
    <td>provided: 82</td> 
    <td>provided: 4</td> 
    <td>-</td> 
    <td>provided: 1</td> 
   </tr> 
  </tbody> 
 </table> 
</div>
			</div>
		</div>
		<div class="span4">
			<div id="toc-sidebar">
				<div class="well">
					<ul class="nav nav-list">
						<li class="nav-header">Table of Contents</li>
		<li class="dropdown"><a href="#Project_Dependencies" title="Project Dependencies">Project Dependencies <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#compile" title="compile">compile</a>
		<li><a href="#test" title="test">test</a>
		<li><a href="#provided" title="provided">provided</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li class="dropdown"><a href="#Project_Transitive_Dependencies" title="Project Transitive Dependencies">Project Transitive Dependencies <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#compile" title="compile">compile</a>
		<li><a href="#test" title="test">test</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li class="dropdown"><a href="#Project_Dependency_Graph" title="Project Dependency Graph">Project Dependency Graph <b class="caret"></b></a>
			<ul class="nav nav-list">
		<li><a href="#Dependency_Tree" title="Dependency Tree">Dependency Tree</a>
				<li class="divider"></li>
			</ul>
		</li>
		<li><a href="#Licenses" title="Licenses">Licenses</a>
		<li><a href="#Dependency_File_Details" title="Dependency File Details">Dependency File Details</a>
					</ul>
				</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span4 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Parent Project</li>
						<li >
							<a href="../index.html" title="Openmeetings">Openmeetings</a>
						</li>
					</ul>
				</div>
				<div class="span8 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Project</li>
						<li >
							<a href="index.html" title="About">About</a>
						</li>
						<li >
							<a href="project-info.html" title="Info">Info</a>
						</li>
						<li >
							<a href="project-summary.html" title="Summary">Summary</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li class="active">
							<a href="#" title="Dependencies">Dependencies</a>
						</li>
						<li >
							<a href="dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
						</li>
						<li >
							<a href="rat-report.html" title="RAT Report">RAT Report</a>
						</li>
						<li >
							<a href="apidocs/index.html" title="JavaDoc" target="_blank">JavaDoc</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2012-2017 <a href="http://apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="../js/jquery.min.js"></script>

	<script src="../js/bootstrap.min.js"></script>
	<script src="../js/lightbox.min.js"></script>
	<script src="../js/reflow-scroll.js"></script>
	
<script src="../js/site.js"></script>
	<script src="../js/reflow-skin.js"></script>

	</body>
</html>
