Added: dev/commons/fileupload/2.0.0-M4-RC1/site/japicmp.html
==============================================================================
--- dev/commons/fileupload/2.0.0-M4-RC1/site/japicmp.html (added)
+++ dev/commons/fileupload/2.0.0-M4-RC1/site/japicmp.html Fri Jun 13 19:53:49 
2025
@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
com.github.siom79.japicmp:japicmp-maven-plugin:0.23.1:cmp-report at 13 Jun 2025
+ | Rendered using Apache Commons Skin
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+                        <title>Apache Commons FileUpload Distribution</title>
+
+    <link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
+    <link rel="stylesheet" href="./css/site.css" type="text/css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+    <script type="text/javascript" src="./js/jquery.min.js"></script>
+    <script type="text/javascript" src="./js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="./js/prettify.min.js"></script>
+    <script type="text/javascript" src="./js/site.js"></script>
+
+    
+      </head>
+
+  <body class="composite">
+                      <a href="https://commons.apache.org/"; id="bannerLeft">
+                                                                    <img 
class="logo-left" src="      ./images/commons-logo.png
+"  alt="Apache Commons logo"/>
+              </a>
+                                          <a href="../index.html" 
id="bannerRight">
+                                                                          <img 
class="logo-right" src="    ../images/logo.png
+"  alt="Commons FileUpload"/>
+              </a>
+          <div class="clear"></div>
+
+    <div class="navbar">
+      <div class="navbar-inner">
+        <div class="container-fluid">
+          <a class="brand" 
href="https://commons.apache.org/proper/commons-fileupload/commons-fileupload2-distribution/";>Apache
 Commons FileUpload Distribution &trade;</a>
+          <ul class="nav">                    
+          <li id="publishDate">Last Published: 13 Jun 2025</li>
+    <li class="divider">|</li> <li id="projectVersion">Version: 2.0.0-M4</li>
+  </ul>
+          <div class="pull-right">  <ul class="nav">
+            <li>
+                  <a href="https://www.apachecon.com/"; class="externalLink" 
title="ApacheCon">
+    ApacheCon</a>
+      </li>
+          <li>
+                  <a href="https://www.apache.org"; class="externalLink" 
title="Apache">
+    Apache</a>
+      </li>
+          <li>
+                  <a href="../../../" title="Commons">
+    Commons</a>
+      </li>
+    </ul>
+</div>
+        </div>
+      </div>
+    </div>
+
+    <div class="container-fluid">
+      <table class="layout-table">
+        <tr>
+          <td class="sidebar">
+            <div class="well sidebar-nav">
+                    <ul class="nav nav-list">
+                                 <li class="nav-header">Project 
Documentation</li>
+                                                                               
                                                                                
                                                                                
                                                 <li class="collapsed">
+                  <a href="project-info.html" title="Project Information">
+    Project Information</a>
+                    </li>
+                                                                               
                                                                <li 
class="expanded">
+                  <a href="project-reports.html" title="Project Reports">
+    Project Reports</a>
+                    <ul>
+                              <li class="none">
+                  <a href="jira-changes.html" title="JIRA Report">
+    JIRA Report</a>
+          </li>
+                                 <li class="none">
+                  <a href="surefire.html" title="Surefire">
+    Surefire</a>
+          </li>
+                                 <li class="none">
+                  <a href="rat-report.html" title="Rat Report">
+    Rat Report</a>
+          </li>
+                                   <li class="none active">
+                  <a href="japicmp.html" title="japicmp">
+    japicmp</a>
+          </li>
+                   </ul>
+              </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">Commons</li>
+                                        <li class="none">
+                  <a href="../../../" title="Home">
+    Home</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/licenses/"; 
class="externalLink" title="License">
+    License</a>
+          </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../components.html" title="Components">
+    Components</a>
+                    </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../sandbox/index.html" title="Sandbox">
+    Sandbox</a>
+                    </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../dormant/index.html" title="Dormant">
+    Dormant</a>
+                    </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">General Information</li>
+                                        <li class="none">
+                  <a href="../../../security.html" title="Security">
+    Security</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../volunteering.html" title="Volunteering">
+    Volunteering</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../patches.html" title="Contributing Patches">
+    Contributing Patches</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../building.html" title="Building Components">
+    Building Components</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../commons-parent-pom.html" title="Commons 
Parent POM">
+    Commons Parent POM</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../build-plugin/index.html" title="Commons 
Build Plugin">
+    Commons Build Plugin</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../release-plugin/index.html" title="Commons 
Release Plugin">
+    Commons Release Plugin</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../site-publish.html" title="Site 
Publication">
+    Site Publication</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../releases/index.html" title="Releasing 
Components">
+    Releasing Components</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://cwiki.apache.org/confluence/display/commons/FrontPage"; 
class="externalLink" title="Wiki">
+    Wiki</a>
+          </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">ASF</li>
+                                        <li class="none">
+                  <a 
href="https://www.apache.org/foundation/how-it-works.html"; class="externalLink" 
title="How the ASF works">
+    How the ASF works</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/getinvolved.html"; 
class="externalLink" title="Get Involved">
+    Get Involved</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/dev/"; class="externalLink" 
title="Developer Resources">
+    Developer Resources</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://www.apache.org/foundation/policies/conduct.html"; 
class="externalLink" title="Code of Conduct">
+    Code of Conduct</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://privacy.apache.org/policies/privacy-policy-public.html"; 
class="externalLink" title="Privacy">
+    Privacy</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/sponsorship.html"; 
class="externalLink" title="Sponsorship">
+    Sponsorship</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/thanks.html"; 
class="externalLink" title="Thanks">
+    Thanks</a>
+          </li>
+                 </ul>
+              </div>
+            <div id="poweredBy">
+                                                                               
                                     <a 
href="https://www.apache.org/events/current-event.html"; title="ApacheCon" 
class="builtBy">
+        <img class="builtBy"  alt="ApacheCon" 
src="https://www.apache.org/events/current-event-125x125.png";    />
+      </a>
+                                                                               
                     <a href="https://maven.apache.org/"; title="Maven" 
class="builtBy">
+        <img class="builtBy"  alt="Maven" 
src="https://maven.apache.org/images/logos/maven-feather.png";    />
+      </a>
+                      </div>
+          </td>
+          <td class="content">
+                                                                          
$bodyContent
+                      </td>
+        </tr>
+      </table>
+    </div>
+
+    <div class="footer">
+      <p>Copyright &copy;                    2002-2025
+                      <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.</p>
+          </div>
+  </body>
+
+</html>

Added: dev/commons/fileupload/2.0.0-M4-RC1/site/jira-changes.html
==============================================================================
--- dev/commons/fileupload/2.0.0-M4-RC1/site/jira-changes.html (added)
+++ dev/commons/fileupload/2.0.0-M4-RC1/site/jira-changes.html Fri Jun 13 
19:53:49 2025
@@ -0,0 +1,1027 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0 from 
org.apache.maven.plugins:maven-changes-plugin:3.0.0-M3:jira-changes at 13 Jun 
2025
+ | Rendered using Apache Commons Skin
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+                        <title>JIRA Report – Apache Commons FileUpload 
Distribution</title>
+
+    <link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
+    <link rel="stylesheet" href="./css/site.css" type="text/css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+    <script type="text/javascript" src="./js/jquery.min.js"></script>
+    <script type="text/javascript" src="./js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="./js/prettify.min.js"></script>
+    <script type="text/javascript" src="./js/site.js"></script>
+
+    
+      </head>
+
+  <body class="composite">
+                      <a href="https://commons.apache.org/"; id="bannerLeft">
+                                                                    <img 
class="logo-left" src="      ./images/commons-logo.png
+"  alt="Apache Commons logo"/>
+              </a>
+                                          <a href="../index.html" 
id="bannerRight">
+                                                                          <img 
class="logo-right" src="    ../images/logo.png
+"  alt="Commons FileUpload"/>
+              </a>
+          <div class="clear"></div>
+
+    <div class="navbar">
+      <div class="navbar-inner">
+        <div class="container-fluid">
+          <a class="brand" 
href="https://commons.apache.org/proper/commons-fileupload/commons-fileupload2-distribution/";>Apache
 Commons FileUpload Distribution &trade;</a>
+          <ul class="nav">                    
+          <li id="publishDate">Last Published: 13 Jun 2025</li>
+    <li class="divider">|</li> <li id="projectVersion">Version: 2.0.0-M4</li>
+  </ul>
+          <div class="pull-right">  <ul class="nav">
+            <li>
+                  <a href="https://www.apachecon.com/"; class="externalLink" 
title="ApacheCon">
+    ApacheCon</a>
+      </li>
+          <li>
+                  <a href="https://www.apache.org"; class="externalLink" 
title="Apache">
+    Apache</a>
+      </li>
+          <li>
+                  <a href="../../../" title="Commons">
+    Commons</a>
+      </li>
+    </ul>
+</div>
+        </div>
+      </div>
+    </div>
+
+    <div class="container-fluid">
+      <table class="layout-table">
+        <tr>
+          <td class="sidebar">
+            <div class="well sidebar-nav">
+                    <ul class="nav nav-list">
+                                 <li class="nav-header">Project 
Documentation</li>
+                                                                               
                                                                                
                                                                                
                                                 <li class="collapsed">
+                  <a href="project-info.html" title="Project Information">
+    Project Information</a>
+                    </li>
+                                                                               
                                                                <li 
class="expanded">
+                  <a href="project-reports.html" title="Project Reports">
+    Project Reports</a>
+                    <ul>
+                                <li class="none active">
+                  <a href="jira-changes.html" title="JIRA Report">
+    JIRA Report</a>
+          </li>
+                                 <li class="none">
+                  <a href="surefire.html" title="Surefire">
+    Surefire</a>
+          </li>
+                                 <li class="none">
+                  <a href="rat-report.html" title="Rat Report">
+    Rat Report</a>
+          </li>
+                                 <li class="none">
+                  <a href="japicmp.html" title="japicmp">
+    japicmp</a>
+          </li>
+                   </ul>
+              </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">Commons</li>
+                                        <li class="none">
+                  <a href="../../../" title="Home">
+    Home</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/licenses/"; 
class="externalLink" title="License">
+    License</a>
+          </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../components.html" title="Components">
+    Components</a>
+                    </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../sandbox/index.html" title="Sandbox">
+    Sandbox</a>
+                    </li>
+                                                                               
<li class="collapsed">
+                  <a href="../../../dormant/index.html" title="Dormant">
+    Dormant</a>
+                    </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">General Information</li>
+                                        <li class="none">
+                  <a href="../../../security.html" title="Security">
+    Security</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../volunteering.html" title="Volunteering">
+    Volunteering</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../patches.html" title="Contributing Patches">
+    Contributing Patches</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../building.html" title="Building Components">
+    Building Components</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../commons-parent-pom.html" title="Commons 
Parent POM">
+    Commons Parent POM</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../build-plugin/index.html" title="Commons 
Build Plugin">
+    Commons Build Plugin</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../release-plugin/index.html" title="Commons 
Release Plugin">
+    Commons Release Plugin</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../site-publish.html" title="Site 
Publication">
+    Site Publication</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../releases/index.html" title="Releasing 
Components">
+    Releasing Components</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://cwiki.apache.org/confluence/display/commons/FrontPage"; 
class="externalLink" title="Wiki">
+    Wiki</a>
+          </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">ASF</li>
+                                        <li class="none">
+                  <a 
href="https://www.apache.org/foundation/how-it-works.html"; class="externalLink" 
title="How the ASF works">
+    How the ASF works</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/getinvolved.html"; 
class="externalLink" title="Get Involved">
+    Get Involved</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/dev/"; class="externalLink" 
title="Developer Resources">
+    Developer Resources</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://www.apache.org/foundation/policies/conduct.html"; 
class="externalLink" title="Code of Conduct">
+    Code of Conduct</a>
+          </li>
+                             <li class="none">
+                  <a 
href="https://privacy.apache.org/policies/privacy-policy-public.html"; 
class="externalLink" title="Privacy">
+    Privacy</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/sponsorship.html"; 
class="externalLink" title="Sponsorship">
+    Sponsorship</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/thanks.html"; 
class="externalLink" title="Thanks">
+    Thanks</a>
+          </li>
+                 </ul>
+              </div>
+            <div id="poweredBy">
+                                                                               
                                     <a 
href="https://www.apache.org/events/current-event.html"; title="ApacheCon" 
class="builtBy">
+        <img class="builtBy"  alt="ApacheCon" 
src="https://www.apache.org/events/current-event-125x125.png";    />
+      </a>
+                                                                               
                     <a href="https://maven.apache.org/"; title="Maven" 
class="builtBy">
+        <img class="builtBy"  alt="Maven" 
src="https://maven.apache.org/images/logos/maven-feather.png";    />
+      </a>
+                      </div>
+          </td>
+          <td class="content">
+                                                                          
<section><a id="JIRA_Report"></a>
+<h1>JIRA Report</h1>
+<table class="bodyTable">
+<tr class="a">
+<th>Fix Version</th>
+<th>Key</th>
+<th>Component</th>
+<th>Summary</th>
+<th>Type</th>
+<th>Resolution</th>
+<th>Status</th></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-331";>FILEUPLOAD-331</a></td>
+<td>-</td>
+<td>Solve warnings / error checkstyle</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-329";>FILEUPLOAD-329</a></td>
+<td>-</td>
+<td>Fix multiples errors fileupload_checks.xml config file</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-327";>FILEUPLOAD-327</a></td>
+<td>-</td>
+<td>Solve SpotBug warning/errors</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-299";>FILEUPLOAD-299</a></td>
+<td>-</td>
+<td>Error replacing an existing file using FileItem.write</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-294";>FILEUPLOAD-294</a></td>
+<td>-</td>
+<td>Link &quot;Source repository&quot; is broken on project website</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-238";>FILEUPLOAD-238</a></td>
+<td>-</td>
+<td>Default charset hardcoded in FileItem (must be used 
Charset.defaultCharset())</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-118";>FILEUPLOAD-118</a></td>
+<td>-</td>
+<td>Maven pom has invalid parent</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-110";>FILEUPLOAD-110</a></td>
+<td>-</td>
+<td>MultipartStream's keep region padding is either unnecessary or untested 
(and undocumented)</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-72";>FILEUPLOAD-72</a></td>
+<td>-</td>
+<td>Java docs bug</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-70";>FILEUPLOAD-70</a></td>
+<td>-</td>
+<td>DefaultFileItem should not catch Exception</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-67";>FILEUPLOAD-67</a></td>
+<td>-</td>
+<td>possible typo in fileupload docs on commons site</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-66";>FILEUPLOAD-66</a></td>
+<td>-</td>
+<td>DefaultFileItem issues</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-61";>FILEUPLOAD-61</a></td>
+<td>-</td>
+<td>Temporary upload files are not being deleted</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-59";>FILEUPLOAD-59</a></td>
+<td>-</td>
+<td>[fileupload] Memory Issue</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-57";>FILEUPLOAD-57</a></td>
+<td>-</td>
+<td>[fileupload] Sample code is not working</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-56";>FILEUPLOAD-56</a></td>
+<td>-</td>
+<td>[FileUpload] uploading files with non-ASCII filenames</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-53";>FILEUPLOAD-53</a></td>
+<td>-</td>
+<td>UnknownSizeException with IE5.0 (due to IE5.0 bug)</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-50";>FILEUPLOAD-50</a></td>
+<td>-</td>
+<td>[fileupload] FileItem implements Serializable incorrectly</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-48";>FILEUPLOAD-48</a></td>
+<td>-</td>
+<td>[fileupload] Memory leak in DefaultFileItem</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-46";>FILEUPLOAD-46</a></td>
+<td>-</td>
+<td>[fileupload] Default encoding issue running Tomcat on z/os</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-40";>FILEUPLOAD-40</a></td>
+<td>-</td>
+<td>FileUploadBase does not handle quoted boundary specification, which is 
required by RFC 1521</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-39";>FILEUPLOAD-39</a></td>
+<td>-</td>
+<td>[fileupload] Content-Type with quoted boundary doesn't work</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-37";>FILEUPLOAD-37</a></td>
+<td>-</td>
+<td>[fileupload] Two typos in the manual page of MultipartStream</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-35";>FILEUPLOAD-35</a></td>
+<td>-</td>
+<td>file upload can be very slow</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-31";>FILEUPLOAD-31</a></td>
+<td>-</td>
+<td>[PATCH] Added some tests</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-29";>FILEUPLOAD-29</a></td>
+<td>-</td>
+<td>[fileupload] Remove Javadoc warnings</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-22";>FILEUPLOAD-22</a></td>
+<td>-</td>
+<td>FileUpload default constructor does not create a factory</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-21";>FILEUPLOAD-21</a></td>
+<td>-</td>
+<td>DefaultFileItem.write() throws NullPointerException if a stream cannot be 
created</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-18";>FILEUPLOAD-18</a></td>
+<td>-</td>
+<td>contentType comparisons should be case-insensitive</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-16";>FILEUPLOAD-16</a></td>
+<td>-</td>
+<td>[fileupload][PATCH] Workaround for IE5 Mac type=image bug</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-13";>FILEUPLOAD-13</a></td>
+<td>-</td>
+<td>[fileupload] Use the ServletRequest encoding as default</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-12";>FILEUPLOAD-12</a></td>
+<td>-</td>
+<td>[fileupload] Remove deprecations issued in IO 1.1</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-5";>FILEUPLOAD-5</a></td>
+<td>-</td>
+<td>[fileupload] Determining content type</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-4";>FILEUPLOAD-4</a></td>
+<td>-</td>
+<td>[fileupload] The common upload functions do not work on z/OS WebSphere</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-330";>FILEUPLOAD-330</a></td>
+<td>-</td>
+<td>Add taglist-maven-plugin </td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-328";>FILEUPLOAD-328</a></td>
+<td>-</td>
+<td>Switch from Cobertura code coverage to Jacoco code coverage as all commons 
projects</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-310";>FILEUPLOAD-310</a></td>
+<td>-</td>
+<td>Minor improvements</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-140";>FILEUPLOAD-140</a></td>
+<td>-</td>
+<td>Means to preserve text parameters when upload limit exceeded</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-133";>FILEUPLOAD-133</a></td>
+<td>-</td>
+<td>Refactor use of FileCleaner into plugable strategy to allow 
overriding.</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-128";>FILEUPLOAD-128</a></td>
+<td>-</td>
+<td>move commons-fileupload to org.apache.commons.fileupload groupId in 
maven</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-109";>FILEUPLOAD-109</a></td>
+<td>-</td>
+<td>MultipartStream.discardBodyData()  implementation is redundant.</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-105";>FILEUPLOAD-105</a></td>
+<td>-</td>
+<td>Support for Portlets (168)</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-101";>FILEUPLOAD-101</a></td>
+<td>-</td>
+<td>[FileUpload] does not take 'charset' parameter of the 'Content-Type' 
header into consideration</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-100";>FILEUPLOAD-100</a></td>
+<td>-</td>
+<td>[fileupload] Allow to set headerEncoding to other than platform default 
encoding for fall-back</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-95";>FILEUPLOAD-95</a></td>
+<td>-</td>
+<td>native memory leak results in container crash</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-94";>FILEUPLOAD-94</a></td>
+<td>-</td>
+<td>Fileupload fails for forms with a large number of inputs</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-93";>FILEUPLOAD-93</a></td>
+<td>-</td>
+<td>[fileupload] Allow parsing requests of unknown length</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-92";>FILEUPLOAD-92</a></td>
+<td>-</td>
+<td>The size threshold parameter works based on the whole request instead of 
individual parts</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-86";>FILEUPLOAD-86</a></td>
+<td>-</td>
+<td>File upload exceptions.</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-83";>FILEUPLOAD-83</a></td>
+<td>-</td>
+<td>[fileupload][patch] Small improvements for FileUploadBase getFileName and 
getFieldName</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-78";>FILEUPLOAD-78</a></td>
+<td>-</td>
+<td>Documentation: illustrate how to integrate virus control</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-77";>FILEUPLOAD-77</a></td>
+<td>-</td>
+<td>[fileupload] State the maximum size in the error message</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-323";>FILEUPLOAD-323</a></td>
+<td>-</td>
+<td>Implement spotbugs</td>
+<td>New Feature</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-148";>FILEUPLOAD-148</a></td>
+<td>-</td>
+<td>FileItemFactory.setMaxStringLength()</td>
+<td>New Feature</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-290";>FILEUPLOAD-290</a></td>
+<td>-</td>
+<td>When a large file is uploaded, if there is a refresh page or other 
operation, the servlet will get a new request, and the file upload request will 
be aborted.</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-132";>FILEUPLOAD-132</a></td>
+<td>-</td>
+<td>How do we retrieve the HTTP Headers in the request?</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>-</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-114";>FILEUPLOAD-114</a></td>
+<td>-</td>
+<td>Documentation: dependency on commons-io and other things</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.6.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-357";>FILEUPLOAD-357</a></td>
+<td>-</td>
+<td>Backport commons-io upgrade in 1.x for CVE-2024-47554</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0-M1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-342";>FILEUPLOAD-342</a></td>
+<td>-</td>
+<td>FileUploadBase should not import HttpServletRequest</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0-M1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-349";>FILEUPLOAD-349</a></td>
+<td>-</td>
+<td>Update javax libs to Jakarta libs in commons-fileupload jar</td>
+<td>New Feature</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0-M1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-345";>FILEUPLOAD-345</a></td>
+<td>-</td>
+<td>Support for Servlet 5</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0-M1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-309";>FILEUPLOAD-309</a></td>
+<td>-</td>
+<td>Release version 2.0.0</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0-M2</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-358";>FILEUPLOAD-358</a></td>
+<td>-</td>
+<td>Release history link changed from changes-report.html to changes.html</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0-M2</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-352";>FILEUPLOAD-352</a></td>
+<td>-</td>
+<td>NullPointerException in DiskFileItem#toString</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0-M2</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-344";>FILEUPLOAD-344</a></td>
+<td>-</td>
+<td>Check final variable  checkstyle</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>1.5</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-347";>FILEUPLOAD-347</a></td>
+<td>-</td>
+<td>CVE in commons-io versions less than 2.7 </td>
+<td>Task</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.5</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-343";>FILEUPLOAD-343</a></td>
+<td>-</td>
+<td>Update Project Version</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4.1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-296";>FILEUPLOAD-296</a></td>
+<td>-</td>
+<td>Speed Up Parsing</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>1.4.1</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-293";>FILEUPLOAD-293</a></td>
+<td>-</td>
+<td>FileExistsException: Destination .. already exists when DiskFileItem.write 
was given an existing file</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>1.3.3</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-279";>FILEUPLOAD-279</a></td>
+<td>-</td>
+<td>CVE-2016-1000031 - Apache Commons FileUpload DiskFileItem File 
Manipulation Remote Code Execution</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-356";>FILEUPLOAD-356</a></td>
+<td>-</td>
+<td>Link to &quot;changes report&quot; for commons-fileupload is wrong</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-274";>FILEUPLOAD-274</a></td>
+<td>-</td>
+<td>File Upload fails to recognize RFC 5987-compliant filename</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-193";>FILEUPLOAD-193</a></td>
+<td>-</td>
+<td>FileNotFoundException thrown by DiskFileItem.write</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-350";>FILEUPLOAD-350</a></td>
+<td>-</td>
+<td>FileUploadByteCountLimitException ctor switches fileName and fieldName 
parameters</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-340";>FILEUPLOAD-340</a></td>
+<td>-</td>
+<td>Make commons-fileupload a proper JPMS module</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-286";>FILEUPLOAD-286</a></td>
+<td>-</td>
+<td>default charset override</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-302";>FILEUPLOAD-302</a></td>
+<td>-</td>
+<td>Upgrade test framework to JUnit Jupiter</td>
+<td>Task</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-355";>FILEUPLOAD-355</a></td>
+<td>-</td>
+<td>Update code example: Use IOUtils instead of Streams utils class</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="b">
+<td>2.0.0</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-341";>FILEUPLOAD-341</a></td>
+<td>-</td>
+<td>Move exceptions out of .impl package</td>
+<td>Wish</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-258";>FILEUPLOAD-258</a></td>
+<td>-</td>
+<td>Empty files in mutipart requests aren't saved to disk</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-257";>FILEUPLOAD-257</a></td>
+<td>-</td>
+<td>Fix Javadoc 1.8 errors</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-252";>FILEUPLOAD-252</a></td>
+<td>-</td>
+<td>DiskFileItem#write can lose original IO error</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-251";>FILEUPLOAD-251</a></td>
+<td>-</td>
+<td>DiskFileItem#getTempFile() is broken</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-250";>FILEUPLOAD-250</a></td>
+<td>-</td>
+<td>FileUploadBase - potential resource leak - InputStream not closed on 
exception</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-248";>FILEUPLOAD-248</a></td>
+<td>-</td>
+<td>[DISK] Unsafe file move operation (possibly swallowing write errors)</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-246";>FILEUPLOAD-246</a></td>
+<td>-</td>
+<td>FileUpload should use IOUtils.closeQuietly where relevant</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-245";>FILEUPLOAD-245</a></td>
+<td>-</td>
+<td>DiskFileItem.get() may not fully read the data</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-244";>FILEUPLOAD-244</a></td>
+<td>-</td>
+<td>.DiskFileItem.readObject fails to close FileInputStream</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-242";>FILEUPLOAD-242</a></td>
+<td>-</td>
+<td>Should not catch and ignore Throwable</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-234";>FILEUPLOAD-234</a></td>
+<td>-</td>
+<td>Bug in docs: tmp file delete conditions in &quot;Resource Cleanup&quot; 
section of &quot;using.html&quot;</td>
+<td>Bug</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-292";>FILEUPLOAD-292</a></td>
+<td>-</td>
+<td>Don't create un-needed resources in FileUploadBase.java</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-283";>FILEUPLOAD-283</a></td>
+<td>-</td>
+<td>Add tests to the portlet package</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-282";>FILEUPLOAD-282</a></td>
+<td>-</td>
+<td>Upversion complier.source, compiler.target to 1.6</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-273";>FILEUPLOAD-273</a></td>
+<td>-</td>
+<td>Test Coverage Report</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-254";>FILEUPLOAD-254</a></td>
+<td>-</td>
+<td>Improve MultipartStream public API</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Resolved</td></tr>
+<tr class="a">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-243";>FILEUPLOAD-243</a></td>
+<td>-</td>
+<td>Make some MultipartStream private fields final</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-237";>FILEUPLOAD-237</a></td>
+<td>-</td>
+<td>Update Documenation for Streaming</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>Nightly Builds, 1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-288";>FILEUPLOAD-288</a></td>
+<td>-</td>
+<td>Linux dentry cache memory leak due to inappropriate temporary file 
detection</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="b">
+<td>Nightly Builds</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-177";>FILEUPLOAD-177</a></td>
+<td>-</td>
+<td>FAQ update to clarify 'struts' -&gt; 'struts 1'</td>
+<td>Task</td>
+<td>Fixed</td>
+<td>Closed</td></tr>
+<tr class="a">
+<td>1.3.2, 1.4</td>
+<td><a class="externalLink" 
href="https://issues.apache.org/jira/browse/FILEUPLOAD-272";>FILEUPLOAD-272</a></td>
+<td>-</td>
+<td>Performance Improvement in MultipartStream</td>
+<td>Improvement</td>
+<td>Fixed</td>
+<td>Closed</td></tr></table></section>
+                      </td>
+        </tr>
+      </table>
+    </div>
+
+    <div class="footer">
+      <p>Copyright &copy;                    2002-2025
+                      <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.</p>
+          </div>
+  </body>
+
+</html>

Added: dev/commons/fileupload/2.0.0-M4-RC1/site/js/bootstrap.min.js
==============================================================================
--- dev/commons/fileupload/2.0.0-M4-RC1/site/js/bootstrap.min.js (added)
+++ dev/commons/fileupload/2.0.0-M4-RC1/site/js/bootstrap.min.js Fri Jun 13 
19:53:49 2025
@@ -0,0 +1,6 @@
+/*!
+* Bootstrap.js by @fat & @mdo
+* Copyright 2012 Twitter, Inc.
+* http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+!function(e){e(function(){"use strict";e.support.transition=function(){var 
e=function(){var 
e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd
 otransitionend",transition:"transitionend"},n;for(n in 
t)if(e.style[n]!==undefined)return t[n]}();return 
e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var 
t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function
 s(){i.trigger("closed").remove()}var 
n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return
 this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new 
n(this)),type
 of 
t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(function(){e("body").on("click.alert.data-api",t,n.prototype.close)})}(window.jQuery),!function(e){"use
 strict";var 
t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var
 
t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var
 
e=this.$element.parent('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")},e.fn.button=function(n){return
 this.each(function(){var r=e(this),i=r.data("button"),s=typeof 
n=="object"&&n;i||r.data("button",i=new 
t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(function(){e("body")
 .on("click.button.data-api","[data-toggle^=button]",function(t){var 
n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})})}(window.jQuery),!function(e){"use
 strict";var 
t=function(t,n){this.$element=e(t),this.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return
 
t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var
 
n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return
 
this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},pause:function(t){return
 t||(this.paused=!0),this.$element.find(".next, 
.prev").length&&e.support.transition.end&&(this.$element.trigger(e.su
 
pport.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return
 this.slide("next")},prev:function(){if(this.sliding)return;return 
this.slide("prev")},slide:function(t,n){var 
r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f=e.Event("slide",{relatedTarget:i[0]});this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u]();if(i.hasClass("active"))return;if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join("
 ")).addClass("active"),r.removeClass(["active",o].join(" 
")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.ad
 dClass("active"),this.sliding=!1,this.$element.trigger("slid")}return 
s&&this.cycle(),this}},e.fn.carousel=function(n){return 
this.each(function(){var 
r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof 
n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new 
t(this,s)),typeof 
n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(function(){e("body").on("click.carousel.data-api","[data-slide]",function(t){var
 
n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=!i.data("modal")&&e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})})}(window.jQuery),!function(e){"use
 strict";var 
t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var
 e=th
 is.$element.hasClass("width");return e?"width":"height"},show:function(){var 
t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find(">
 .accordion-group > 
.in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var
 
t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var
 t=this.dimension();return 
this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var
 
i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPr
 
evented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return
 this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof 
n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(function(){e("body").on("click.collapse.data-api","[data-toggle=collapse]",function(t){var
 
n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})})}(window.jQuery),!function(e){"use
 strict";function r(){i(e(t)).removeClass("open")}function i(t){var 
n=t.attr("data-target"),r;return 
n||(n=t.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,"
 ")),r=e(n),r.length||(r=t.parent()),r}var 
t="[data-toggle=dropdown]",n=function(t){var 
n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var
 n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return 
s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var
 
n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled,
 :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return 
n.click();r=e("[role=menu] li:not(.divider) 
a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}},e.fn.dropdown=function(t){return
 this.each(function(){var 
r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof 
t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor
 =n,e(function(){e("html").on("click.dropdown.data-api 
touchstart.dropdown.data-api",r),e("body").on("click.dropdown 
touchstart.dropdown.data-api",".dropdown",function(e){e.stopPropagation()}).on("click.dropdown.data-api
 
touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api
 touchstart.dropdown.data-api",t+", 
[role=menu]",n.prototype.keydown)})}(window.jQuery),!function(e){"use 
strict";var 
t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return
 this[this.isShown?"hide":"show"]()},show:function(){var 
t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;e("body").addClass("modal-open"),this.isShown=!0,this.escape(),this.backdrop(function(){var
 n=e.support.transition&&t.$element.hasClass("fade");t.$element.paren
 
t().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1).focus(),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.trigger("shown")}):t.$element.trigger("shown")})},hide:function(t){t&&t.preventDefault();var
 
n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,e("body").removeClass("modal-open"),this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var
 
t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var
 
e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$ele
 ment.off("keyup.dismiss.modal")},hideWithTransition:function(){var 
t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var
 
n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var
 i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" 
/>').appendTo(document.body),this.options.backdrop!="static"&&this.$backdrop.click(e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.rem
 
oveBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return
 this.each(function(){var 
r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof 
n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof 
n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(function(){e("body").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var
 
n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})})}(window.jQuery),!function(e){"use
 strict";var 
t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var
 
i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,
 
e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return
 t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof 
t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var
 
n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return
 
n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var
 
n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(t
 his.timeout);if(!n.options.delay||!n.options.delay.hide)return 
n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var
 
e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof
 
this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.remove().css({top:0,left:0,display:"block"}).appendTo(t?this.$element:document.body),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split("
 
")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.css(o).addClass(s).addClass("in")}},setContent:function(){var
 e=this.tip(),t=this.getTitle();e.find(".tooltip-
 inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom 
left right")},hide:function(){function r(){var 
t=setTimeout(function(){n.off(e.support.transition.end).remove()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.remove()})}var
 t=this,n=this.tip();return 
n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.remove(),this},fixTitle:function(){var
 e=this.$element;(e.attr("title")||typeof 
e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return
 this.getTitle()},getPosition:function(t){return 
e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var
 e,t=this.$element,n=this.options;return 
e=t.attr("data-original-title")||(typeof 
n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return 
this.$tip=this.$tip||e(this.options.template)},v
 
alidate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return
 this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof 
n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div
 class="tooltip"><div class="tooltip-arrow"></div><div 
class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!0}}(window.jQuery),!function(e){"use
 strict";var 
t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var
 e=this.tip(),t=this
 
.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content
 > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left 
right in")},hasContent:function(){return 
this.getTitle()||this.getContent()},getContent:function(){var 
e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof 
n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return 
this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return
 this.each(function(){var r=e(this),i=r.data("popover"),s=typeof 
n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div
 class="popover"><div class="arrow"></div><div class="popover-inner"><h3 
class="p
 opover-title"></h3><div 
class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(e){"use
 strict";function t(t,n){var 
r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+"
 .nav li > 
a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var
 
t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var
 t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return 
r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return 
e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var
 
e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this
 
.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return
 
s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var
 
n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return
 this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof 
n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var
 t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use 
strict";var t=function(t){this.element=e(t)};t.prototype={constructo
 r:t,show:function(){var 
t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active
 
a").last()[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function
 o(){i.removeClass("active").find("> .dropdown-menu > 
.active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var
 i=n.find("> 
.active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return
 this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new 
t(this)),typeof n=="string"&&i[n]()})}
 
,e.fn.tab.Constructor=t,e(function(){e("body").on("click.tab.data-api",'[data-toggle="tab"],
 
[data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})})}(window.jQuery),!function(e){"use
 strict";var 
t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var
 e=this.$menu.find(".active").attr("data-value");return 
this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return
 e},show:function(){var 
t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return
 
this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},h
 ide:function(){return 
this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return 
this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var
 n=this;return t=e.grep(t,function(e){return 
n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var
 
t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return
 t.concat(n,r)},highlighter:function(e){var 
t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new 
RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var
 n=this;return t=e(t).map
 (function(t,r){return 
t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var
 
n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var
 
t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),(e.browser.webkit||e.browser.msie)&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},move:function(e){if(!this.shown)return;switch(e.keyCode){case
 9:case 13:case 27:e.preventDefault();break;case 
38:e.preventDefault(),this.prev();break;case 
40:e.preventDefault(),this.next()}e.stopPropagati
 
on()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case
 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 
27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var
 
t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return
 this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof 
n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul 
class="typeahead dropdown-menu"></ul>',item:'<li><a 
href="#"></a></li>',minLength:1},e.fn.typeahead.Const
 
ructor=t,e(function(){e("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var
 
n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})})}(window.jQuery),!function(e){"use
 strict";var 
t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var
 
t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix
 affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof 
o=="function"&&(o=i.top()),typeof 
s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affi
 x"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var 
r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new 
t(this,s)),typeof 
n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var
 
t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file


Reply via email to