From ad4d88dd775915e3cfa3ef63f52352f5494c5bc4 Mon Sep 17 00:00:00 2001
From: "Olivier J.N. Bertrand" <olivier.bertrand@uni-bielefeld.de>
Date: Wed, 16 Jan 2019 13:14:12 +0100
Subject: [PATCH] Add coverage report

---
 .coverage                                     | Bin 14432 -> 139264 bytes
 coverage_html_report/coverage_html.js         |  34 ++--
 coverage_html_report/index.html               | 145 +++---------------
 coverage_html_report/jquery.min.js            |   9 +-
 coverage_html_report/navipy___init___py.html  |  21 +--
 .../navipy_arenatools___init___py.html        |  21 +--
 .../navipy_arenatools_cam_calib_py.html       |  21 +--
 .../navipy_arenatools_cam_dlt_py.html         |  21 +--
 .../navipy_arenatools_patterns_py.html        |  21 +--
 .../navipy_arenatools_triangulate_py.html     |  21 +--
 .../navipy_comparing___init___py.html         |  21 +--
 .../navipy_comparing_test_py.html             |  21 +--
 .../navipy_database___init___py.html          |  21 +--
 .../navipy_database_test_py.html              |  21 +--
 .../navipy_database_tools_py.html             |  21 +--
 .../navipy_errorprop___init___py.html         |  21 +--
 .../navipy_errorprop_test_py.html             |  21 +--
 .../navipy_io___init___py.html                |  21 +--
 coverage_html_report/navipy_io_ivfile_py.html |  21 +--
 coverage_html_report/navipy_io_opencv_py.html |  21 +--
 .../navipy_maths___init___py.html             |  21 +--
 .../navipy_maths_constants_py.html            |  21 +--
 .../navipy_maths_coordinates_py.html          |  21 +--
 .../navipy_maths_euler_py.html                |  33 +---
 ..._maths_homogeneous_transformations_py.html |  37 ++---
 .../navipy_maths_quaternion_py.html           |  41 ++---
 .../navipy_maths_random_py.html               |  21 +--
 .../navipy_maths_tools_py.html                |  21 +--
 .../navipy_models___init___py.html            |  21 +--
 .../navipy_models_dewar_2014_py.html          |  21 +--
 .../navipy_models_hafner_2000_py.html         |  21 +--
 .../navipy_models_irdf_2003_py.html           |  21 +--
 .../navipy_moving___init___py.html            |  21 +--
 .../navipy_moving_agent_py.html               |  21 +--
 .../navipy_moving_maths_py.html               |  21 +--
 .../navipy_processing___init___py.html        |  21 +--
 .../navipy_processing_mcode_py.html           |  21 +--
 .../navipy_processing_pcode_py.html           |  21 +--
 .../navipy_processing_test_py.html            |  21 +--
 coverage_html_report/navipy_scene_py.html     |  21 +--
 .../navipy_scripts___init___py.html           |  21 +--
 ...ipy_scripts_check_blender_versions_py.html |  21 +--
 ...y_scripts_config_matplotlib_server_py.html |  21 +--
 .../navipy_scripts_dlt_calibrator_py.html     |  21 +--
 .../navipy_sensors___init___py.html           |  21 +--
 .../navipy_sensors_renderer_py.html           |  21 +--
 .../navipy_tools___init___py.html             |  21 +--
 .../navipy_tools_plots_py.html                |  21 +--
 .../navipy_trajectories___init___py.html      |  21 +--
 .../navipy_trajectories_random_py.html        |  21 +--
 .../navipy_trajectories_tools_py.html         |  21 +--
 ...avipy_trajectories_transformations_py.html |  21 +--
 .../navipy_trajectories_triangle_py.html      |  21 +--
 coverage_html_report/status.json              |   2 +-
 coverage_html_report/style.css                |   3 +-
 navipy/maths/test_euler.py                    |   4 +-
 56 files changed, 166 insertions(+), 1108 deletions(-)

diff --git a/.coverage b/.coverage
index 866e73fb3a21f21faf949ead9d1af9b5158ff712..55e813db7ae4be2e949d330b16d8b7194ba58ce0 100644
GIT binary patch
literal 139264
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
PH_{Gi`QXA0mn-}m-p$fn

literal 14432
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
PZoL|M*~R?nx8ME;(GM~l

diff --git a/coverage_html_report/coverage_html.js b/coverage_html_report/coverage_html.js
index f6f5de2..2b32c39 100644
--- a/coverage_html_report/coverage_html.js
+++ b/coverage_html_report/coverage_html.js
@@ -1,5 +1,5 @@
 // Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
-// For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+// For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
 
 // Coverage.py HTML report browser code.
 /*jslint browser: true, sloppy: true, vars: true, plusplus: true, maxerr: 50, indent: 4 */
@@ -169,22 +169,13 @@ coverage.wire_up_filter = function () {
 
 // Loaded on index.html
 coverage.index_ready = function ($) {
-    // Look for a cookie containing previous sort settings:
+    // Look for a localStorage item containing previous sort settings:
     var sort_list = [];
-    var cookie_name = "COVERAGE_INDEX_SORT";
-    var i;
+    var storage_name = "COVERAGE_INDEX_SORT";
+    var stored_list = localStorage.getItem(storage_name);
 
-    // This almost makes it worth installing the jQuery cookie plugin:
-    if (document.cookie.indexOf(cookie_name) > -1) {
-        var cookies = document.cookie.split(";");
-        for (i = 0; i < cookies.length; i++) {
-            var parts = cookies[i].split("=");
-
-            if ($.trim(parts[0]) === cookie_name && parts[1]) {
-                sort_list = eval("[[" + parts[1] + "]]");
-                break;
-            }
-        }
+    if (stored_list) {
+        sort_list = JSON.parse('[[' + stored_list + ']]');
     }
 
     // Create a new widget which exists only to save and restore
@@ -231,7 +222,7 @@ coverage.index_ready = function ($) {
 
     // Watch for page unload events so we can save the final sort settings:
     $(window).unload(function () {
-        document.cookie = cookie_name + "=" + sort_list.toString() + "; path=/";
+        localStorage.setItem(storage_name, sort_list.toString())
     });
 };
 
@@ -555,11 +546,16 @@ coverage.resize_scroll_markers = function () {
 
     var previous_line = -99,
         last_mark,
-        last_top;
+        last_top,
+        offsets = {};
 
+    // Calculate line offsets outside loop to prevent relayouts
+    c.missed_lines.each(function() {
+        offsets[this.id] = $(this).offset().top;
+    });
     c.missed_lines.each(function () {
-        var line_top = Math.round($(this).offset().top * marker_scale),
-            id_name = $(this).attr('id'),
+        var id_name = $(this).attr('id'),
+            line_top = Math.round(offsets[id_name] * marker_scale),
             line_number = parseInt(id_name.substring(1, id_name.length));
 
         if (line_number === previous_line + 1) {
diff --git a/coverage_html_report/index.html b/coverage_html_report/index.html
index 7dc92fc..ac2f0c7 100644
--- a/coverage_html_report/index.html
+++ b/coverage_html_report/index.html
@@ -1,13 +1,9 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>Coverage report</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.ba-throttle-debounce.min.js"></script>
     <script type="text/javascript" src="jquery.tablesorter.min.js"></script>
@@ -18,21 +14,17 @@
     </script>
 </head>
 <body class="indexfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage report:
             <span class="pc_cov">47%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <form id="filter_container">
             <input id="filter" type="text" value="" placeholder="filter..." />
         </form>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -42,495 +34,394 @@
         <span class="key">s</span>
         <span class="key">m</span>
         <span class="key">x</span>
-        
         <span class="key">c</span> &nbsp; change column sorting
     </p>
     </div>
 </div>
-
 <div id="index">
     <table class="index">
         <thead>
-            
             <tr class="tablehead" title="Click to sort">
                 <th class="name left headerSortDown shortkey_n">Module</th>
                 <th class="shortkey_s">statements</th>
                 <th class="shortkey_m">missing</th>
                 <th class="shortkey_x">excluded</th>
-                
                 <th class="right shortkey_c">coverage</th>
             </tr>
         </thead>
-        
         <tfoot>
             <tr class="total">
                 <td class="name left">Total</td>
-                <td>5236</td>
-                <td>2770</td>
+                <td>5260</td>
+                <td>2788</td>
                 <td>0</td>
-                
-                <td class="right" data-ratio="2466 5236">47%</td>
+                <td class="right" data-ratio="2472 5260">47%</td>
             </tr>
         </tfoot>
         <tbody>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy___init___py.html">navipy/__init__.py</a></td>
                 <td>34</td>
                 <td>7</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="27 34">79%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_arenatools___init___py.html">navipy/arenatools/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_arenatools_cam_calib_py.html">navipy/arenatools/cam_calib.py</a></td>
                 <td>82</td>
                 <td>82</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 82">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_arenatools_cam_dlt_py.html">navipy/arenatools/cam_dlt.py</a></td>
                 <td>165</td>
                 <td>165</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 165">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_arenatools_patterns_py.html">navipy/arenatools/patterns.py</a></td>
                 <td>34</td>
                 <td>34</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 34">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_arenatools_triangulate_py.html">navipy/arenatools/triangulate.py</a></td>
                 <td>106</td>
                 <td>106</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 106">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_comparing___init___py.html">navipy/comparing/__init__.py</a></td>
                 <td>82</td>
                 <td>29</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="53 82">65%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_comparing_test_py.html">navipy/comparing/test.py</a></td>
                 <td>178</td>
                 <td>1</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="177 178">99%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_database___init___py.html">navipy/database/__init__.py</a></td>
                 <td>558</td>
                 <td>175</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="383 558">69%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_database_test_py.html">navipy/database/test.py</a></td>
                 <td>384</td>
                 <td>167</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="217 384">57%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_database_tools_py.html">navipy/database/tools.py</a></td>
                 <td>11</td>
                 <td>11</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 11">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_errorprop___init___py.html">navipy/errorprop/__init__.py</a></td>
                 <td>38</td>
                 <td>10</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="28 38">74%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_errorprop_test_py.html">navipy/errorprop/test.py</a></td>
                 <td>36</td>
                 <td>1</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="35 36">97%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_io___init___py.html">navipy/io/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_io_ivfile_py.html">navipy/io/ivfile.py</a></td>
                 <td>146</td>
                 <td>146</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 146">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_io_opencv_py.html">navipy/io/opencv.py</a></td>
                 <td>55</td>
                 <td>55</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 55">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths___init___py.html">navipy/maths/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_constants_py.html">navipy/maths/constants.py</a></td>
                 <td>4</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="4 4">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_coordinates_py.html">navipy/maths/coordinates.py</a></td>
                 <td>46</td>
                 <td>14</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="32 46">70%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_euler_py.html">navipy/maths/euler.py</a></td>
                 <td>119</td>
-                <td>11</td>
+                <td>10</td>
                 <td>0</td>
-                
-                <td class="right" data-ratio="108 119">91%</td>
+                <td class="right" data-ratio="109 119">92%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_homogeneous_transformations_py.html">navipy/maths/homogeneous_transformations.py</a></td>
                 <td>234</td>
-                <td>47</td>
+                <td>45</td>
                 <td>0</td>
-                
-                <td class="right" data-ratio="187 234">80%</td>
+                <td class="right" data-ratio="189 234">81%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_quaternion_py.html">navipy/maths/quaternion.py</a></td>
                 <td>70</td>
-                <td>16</td>
+                <td>13</td>
                 <td>0</td>
-                
-                <td class="right" data-ratio="54 70">77%</td>
+                <td class="right" data-ratio="57 70">81%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_random_py.html">navipy/maths/random.py</a></td>
                 <td>26</td>
                 <td>1</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="25 26">96%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_maths_tools_py.html">navipy/maths/tools.py</a></td>
                 <td>29</td>
                 <td>12</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="17 29">59%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_models___init___py.html">navipy/models/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_models_dewar_2014_py.html">navipy/models/dewar_2014.py</a></td>
                 <td>34</td>
                 <td>34</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 34">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_models_hafner_2000_py.html">navipy/models/hafner_2000.py</a></td>
                 <td>29</td>
                 <td>29</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 29">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_models_irdf_2003_py.html">navipy/models/irdf_2003.py</a></td>
                 <td>36</td>
                 <td>36</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 36">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_moving___init___py.html">navipy/moving/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_moving_agent_py.html">navipy/moving/agent.py</a></td>
                 <td>312</td>
                 <td>158</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="154 312">49%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_moving_maths_py.html">navipy/moving/maths.py</a></td>
                 <td>51</td>
                 <td>4</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="47 51">92%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_processing___init___py.html">navipy/processing/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_processing_mcode_py.html">navipy/processing/mcode.py</a></td>
                 <td>299</td>
                 <td>112</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="187 299">63%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_processing_pcode_py.html">navipy/processing/pcode.py</a></td>
                 <td>140</td>
                 <td>62</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="78 140">56%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_processing_test_py.html">navipy/processing/test.py</a></td>
                 <td>257</td>
                 <td>70</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="187 257">73%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_scene_py.html">navipy/scene.py</a></td>
                 <td>82</td>
                 <td>30</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="52 82">63%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_scripts___init___py.html">navipy/scripts/__init__.py</a></td>
                 <td>19</td>
                 <td>15</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="4 19">21%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_scripts_check_blender_versions_py.html">navipy/scripts/check_blender_versions.py</a></td>
                 <td>29</td>
                 <td>29</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 29">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_scripts_config_matplotlib_server_py.html">navipy/scripts/config_matplotlib_server.py</a></td>
                 <td>10</td>
                 <td>10</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 10">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_scripts_dlt_calibrator_py.html">navipy/scripts/dlt_calibrator.py</a></td>
                 <td>118</td>
                 <td>118</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 118">0%</td>
             </tr>
-            
+            <tr class="file">
+                <td class="name left"><a href="navipy_scripts_navipy_dbbuilder_py.html">navipy/scripts/navipy_dbbuilder.py</a></td>
+                <td>24</td>
+                <td>24</td>
+                <td>0</td>
+                <td class="right" data-ratio="0 24">0%</td>
+            </tr>
             <tr class="file">
                 <td class="name left"><a href="navipy_sensors___init___py.html">navipy/sensors/__init__.py</a></td>
                 <td>0</td>
                 <td>0</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 0">100%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_sensors_renderer_py.html">navipy/sensors/renderer.py</a></td>
                 <td>350</td>
                 <td>350</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 350">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_tools___init___py.html">navipy/tools/__init__.py</a></td>
                 <td>31</td>
                 <td>27</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="4 31">13%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_tools_plots_py.html">navipy/tools/plots.py</a></td>
                 <td>46</td>
                 <td>35</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="11 46">24%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_trajectories___init___py.html">navipy/trajectories/__init__.py</a></td>
                 <td>511</td>
                 <td>339</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="172 511">34%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_trajectories_random_py.html">navipy/trajectories/random.py</a></td>
                 <td>71</td>
                 <td>71</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 71">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_trajectories_tools_py.html">navipy/trajectories/tools.py</a></td>
                 <td>85</td>
                 <td>85</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="0 85">0%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_trajectories_transformations_py.html">navipy/trajectories/transformations.py</a></td>
                 <td>183</td>
                 <td>27</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="156 183">85%</td>
             </tr>
-            
             <tr class="file">
                 <td class="name left"><a href="navipy_trajectories_triangle_py.html">navipy/trajectories/triangle.py</a></td>
                 <td>106</td>
                 <td>39</td>
                 <td>0</td>
-                
                 <td class="right" data-ratio="67 106">63%</td>
             </tr>
-            
         </tbody>
     </table>
-
     <p id="no_rows">
         No items found using the specified filter.
     </p>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-15 12:18
+            <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:08
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/jquery.min.js b/coverage_html_report/jquery.min.js
index d1608e3..3ed8b47 100644
--- a/coverage_html_report/jquery.min.js
+++ b/coverage_html_report/jquery.min.js
@@ -1,4 +1,5 @@
-/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
-if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
-},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
\ No newline at end of file
+(function(global,factory){"use strict";if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document")}return factory(w)}}else{factory(global)}})(typeof window!=="undefined"?window:this,function(window,noGlobal){var arr=[];var document=window.document;var getProto=Object.getPrototypeOf;var slice=arr.slice;var concat=arr.concat;var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var fnToString=hasOwn.toString;var ObjectFunctionString=fnToString.call(Object);var support={};function DOMEval(code,doc){doc=doc||document;var script=doc.createElement("script");script.text=code;doc.head.appendChild(script).parentNode.removeChild(script)}var version="3.2.1",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,length:0,toArray:function(){return slice.call(this)},get:function(num){if(num==null){return slice.call(this)}return num<0?this[num+this.length]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;return ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(i===length){target=this;i--}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&Array.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined){target[name]=copy}}}}return target};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function"},isWindow:function(obj){return obj!=null&&obj===obj.window},isNumeric:function(obj){var type=jQuery.type(obj);return(type==="number"||type==="string")&&!isNaN(obj-parseFloat(obj))},isPlainObject:function(obj){var proto,Ctor;if(!obj||toString.call(obj)!=="[object Object]"){return false}proto=getProto(obj);if(!proto){return true}Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString},isEmptyObject:function(obj){var name;for(name in obj){return false}return true},type:function(obj){if(obj==null){return obj+""}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){DOMEval(code)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},each:function(obj,callback){var length,i=0;if(isArrayLike(obj)){length=obj.length;for(;i<length;i++){if(callback.call(obj[i],i,obj[i])===false){break}}}else{for(i in obj){if(callback.call(obj[i],i,obj[i])===false){break}}}return obj},trim:function(text){return text==null?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr)}else{push.call(ret,arr)}}return ret},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i)},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j]}first.length=i;return first},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i])}}return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems)){length=elems.length;for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp}if(!jQuery.isFunction(fn)){return undefined}args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy},now:Date.now,support:support});if(typeof Symbol==="function"){jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]}jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false}return type==="array"||length===0||typeof length==="number"&&length>0&&length-1 in obj}var Sizzle=function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true}return 0},hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i}}return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){if(asCodePoint){if(ch==="\0"){return"�"}return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" "}return"\\"+ch},unloadHandler=function(){setDocument()},disabledAncestor=addCombinator(function(elem){return elem.disabled===true&&("form"in elem||"label"in elem)},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){var j=target.length,i=0;while(target[j++]=els[i++]){}target.length=j-1}}}function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;results=results||[];if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results}if(!seed){if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context)}context=context||document;if(documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if(m=match[1]){if(nodeType===9){if(elem=context.getElementById(m)){if(elem.id===m){results.push(elem);return results}}else{return results}}else{if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results}else if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results}}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(nodeType!==1){newContext=context;newSelector=selector}else if(context.nodeName.toLowerCase()!=="object"){if(nid=context.getAttribute("id")){nid=nid.replace(rcssescape,fcssescape)}else{context.setAttribute("id",nid=expando)}groups=tokenize(selector);i=groups.length;while(i--){groups[i]="#"+nid+" "+toSelector(groups[i])}newSelector=groups.join(",");newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results}catch(qsaError){}finally{if(nid===expando){context.removeAttribute("id")}}}}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()]}return cache[key+" "]=value}return cache}function markFunction(fn){fn[expando]=true;return fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return false}finally{if(el.parentNode){el.parentNode.removeChild(el)}el=null}}function addHandle(attrs,handler){var arr=attrs.split("|"),i=arr.length;while(i--){Expr.attrHandle[arr[i]]=handler}}function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&a.sourceIndex-b.sourceIndex;if(diff){return diff}if(cur){while(cur=cur.nextSibling){if(cur===b){return-1}}}return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type}}function createDisabledPseudo(disabled){return function(elem){if("form"in elem){if(elem.parentNode&&elem.disabled===false){if("label"in elem){if("label"in elem.parentNode){return elem.parentNode.disabled===disabled}else{return elem.disabled===disabled}}return elem.isDisabled===disabled||elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled}return elem.disabled===disabled}else if("label"in elem){return elem.disabled===disabled}return false}}function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[j=matchIndexes[i]]){seed[j]=!(matches[j]=seed[j])}}})})}function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context}support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement){return document}document=doc;docElem=document.documentElement;documentIsHTML=!isXML(document);if(preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow){if(subWindow.addEventListener){subWindow.addEventListener("unload",unloadHandler,false)}else if(subWindow.attachEvent){subWindow.attachEvent("onunload",unloadHandler)}}support.attributes=assert(function(el){el.className="i";return!el.getAttribute("className")});support.getElementsByTagName=assert(function(el){el.appendChild(document.createComment(""));return!el.getElementsByTagName("*").length});support.getElementsByClassName=rnative.test(document.getElementsByClassName);support.getById=assert(function(el){docElem.appendChild(el).id=expando;return!document.getElementsByName||!document.getElementsByName(expando).length});if(support.getById){Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}};Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}}else{Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId}};Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem]}elems=context.getElementsByName(id);i=0;while(elem=elems[i++]){node=elem.getAttributeNode("id");if(node&&node.value===id){return[elem]}}}return[]}}}Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag)}else if(support.qsa){return context.querySelectorAll(tag)}}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while(elem=results[i++]){if(elem.nodeType===1){tmp.push(elem)}}return tmp}return results};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){return context.getElementsByClassName(className)}};rbuggyMatches=[];rbuggyQSA=[];if(support.qsa=rnative.test(document.querySelectorAll)){assert(function(el){docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\r\\' msallowcapture=''>"+"<option selected=''></option></select>";if(el.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")")}if(!el.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")")}if(!el.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=")}if(!el.querySelectorAll(":checked").length){rbuggyQSA.push(":checked")}if(!el.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]")}});assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a>"+"<select disabled='disabled'><option/></select>";var input=document.createElement("input");input.setAttribute("type","hidden");el.appendChild(input).setAttribute("name","D");if(el.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=")}if(el.querySelectorAll(":enabled").length!==2){rbuggyQSA.push(":enabled",":disabled")}docElem.appendChild(el).disabled=true;if(el.querySelectorAll(":disabled").length!==2){rbuggyQSA.push(":enabled",":disabled")}el.querySelectorAll("*,:x");rbuggyQSA.push(",.*:")})}if(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)){assert(function(el){support.disconnectedMatch=matches.call(el,"*");matches.call(el,"[s!='']:x");rbuggyMatches.push("!=",pseudos)})}rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return true}}}return false};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0}var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare}compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||!support.sortDetached&&b.compareDocumentPosition(a)===compare){if(a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1}if(b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1}return sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}return compare&4?-1:1}:function(a,b){if(a===b){hasDuplicate=true;return 0}var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}else if(aup===bup){return siblingCheck(a,b)}cur=a;while(cur=cur.parentNode){ap.unshift(cur)}cur=b;while(cur=cur.parentNode){bp.unshift(cur)}while(ap[i]===bp[i]){i++}return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0};return document};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document){setDocument(elem)}expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret}}catch(e){}}return Sizzle(expr,document,null,[elem]).length>0};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document){setDocument(context)}return contains(context,elem)};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document){setDocument(elem)}var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null};Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape)};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while(elem=results[i++]){if(elem===results[i]){j=duplicates.push(i)}}while(j--){results.splice(duplicates[j],1)}}sortInput=null;return results};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while(node=elem[i++]){ret+=getText(node)}}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem)}}}else if(nodeType===3||nodeType===4){return elem.nodeValue}return ret};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" "}return match.slice(0,4)},CHILD:function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){Sizzle.error(match[0])}match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+(match[7]+match[8]||match[3]==="odd")}else if(match[3]){Sizzle.error(match[0])}return match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null}if(match[3]){match[2]=match[4]||match[5]||""}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess)}return match.slice(0,3)}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!="}if(!operator){return true}result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false}},CHILD:function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=false;if(parent){if(simple){while(dir){node=elem;while(node=node[dir]){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false}}start=dir=type==="only"&&!start&&"nextSibling"}return true}start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){node=parent;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if(node.nodeType===1&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}}else{if(useCache){node=elem;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex}if(diff===false){while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});uniqueCache[type]=[dirruns,diff]}if(node===elem){break}}}}}diff-=last;return diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument)}if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i])}}):function(elem){return fn(elem,0,args)}}return fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if(elem=unmatched[i]){seed[i]=!(matches[i]=elem)}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang)}lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang")){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0}}while((elem=elem.parentNode)&&elem.nodeType===1);return false}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:createDisabledPseudo(false),disabled:createDisabledPseudo(true),checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return nodeName==="input"&&!!elem.checked||nodeName==="option"&&!!elem.selected},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex}return elem.selected===true},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false}}return true},parent:function(elem){return!Expr.pseudos["empty"](elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button"},text:function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text")},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i)}return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i)}return matchIndexes})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i)}for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i)}function setFilters(){}setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters;tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0)}soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar}groups.push(tokens=[])}matched=false;if(match=rcombinators.exec(soFar)){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length)}for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length)}}if(!matched){break}}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value}return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&key==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml)}}return false}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true}}}}else{while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={});if(skip&&skip===elem.nodeName.toLowerCase()){elem=elem[dir]||elem}else if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return newCache[2]=oldCache[2]}else{uniqueCache[key]=newCache;if(newCache[2]=matcher(elem,context,xml)){return true}}}}}return false}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false}}return true}:matchers[0]}function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results)}return results}function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if(elem=unmatched[i]){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i)}}}}return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter)}if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector)}return markFunction(function(seed,results,context,xml){
+var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher){matcher(matcherIn,matcherOut,context,xml)}if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if(elem=temp[i]){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem)}}}if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if(elem=matcherOut[i]){temp.push(matcherIn[i]=elem)}}postFinder(null,matcherOut=[],temp,xml)}i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem)}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml)}else{push.apply(results,matcherOut)}}})}function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,true),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret}];for(;i<len;i++){if(matcher=Expr.relative[tokens[i].type]){matchers=[addCombinator(elementMatcher(matchers),matcher)]}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break}}return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=dirruns+=contextBackup==null?1:Math.random()||.1,len=elems.length;if(outermost){outermostContext=context===document||context||outermost}for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;if(!context&&elem.ownerDocument!==document){setDocument(elem);xml=!documentIsHTML}while(matcher=elementMatchers[j++]){if(matcher(elem,context||document,xml)){results.push(elem);break}}if(outermost){dirruns=dirrunsUnique}}if(bySet){if(elem=!matcher&&elem){matchedCount--}if(seed){unmatched.push(elem)}}}matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while(matcher=setMatchers[j++]){matcher(unmatched,setMatched,context,xml)}if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results)}}}setMatched=condense(setMatched)}push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1){Sizzle.uniqueSort(results)}}if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup}return unmatched};return bySet?markFunction(superMatcher):superMatcher}compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector)}i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached)}else{elementMatchers.push(cached)}}cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector}return cached};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results}else if(compiled){context=context.parentNode}selector=selector.slice(tokens.shift().value.length)}i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[type=token.type]){break}if(find=Expr.find[type]){if(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context)){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results}break}}}}(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context);return results};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(el){return el.compareDocumentPosition(document.createElement("fieldset"))&1});if(!assert(function(el){el.innerHTML="<a href='#'></a>";return el.firstChild.getAttribute("href")==="#"})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2)}})}if(!support.attributes||!assert(function(el){el.innerHTML="<input/>";el.firstChild.setAttribute("value","");return el.firstChild.getAttribute("value")===""})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue}})}if(!assert(function(el){return el.getAttribute("disabled")==null})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}})}return Sizzle}(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;jQuery.escapeSelector=Sizzle.escape;var dir=function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9){if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break}matched.push(elem)}}return matched};var siblings=function(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n)}}return matched};var rneedsContext=jQuery.expr.match.needsContext;function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()}var rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;var risSimple=/^.[^:#\[\.,]*$/;function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not})}if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return elem===qualifier!==not})}if(typeof qualifier!=="string"){return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not})}if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not)}qualifier=jQuery.filter(qualifier,elements);return jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not&&elem.nodeType===1})}jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")"}if(elems.length===1&&elem.nodeType===1){return jQuery.find.matchesSelector(elem,expr)?[elem]:[]}return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1}))};jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true}}}))}ret=this.pushStack([]);for(i=0;i<len;i++){jQuery.find(selector,self[i],ret)}return len>1?jQuery.uniqueSort(ret):ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],false))},not:function(selector){return this.pushStack(winnow(this,selector||[],true))},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector){return this}root=root||rootjQuery;if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null]}else{match=rquickExpr.exec(selector)}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(jQuery.isFunction(this[match])){this[match](context[match])}else{this.attr(match,context[match])}}}return this}else{elem=document.getElementById(match[2]);if(elem){this[0]=elem;this.length=1}return this}}else if(!context||context.jquery){return(context||root).find(selector)}else{return this.constructor(context).find(selector)}}else if(selector.nodeType){this[0]=selector;this.length=1;return this}else if(jQuery.isFunction(selector)){return root.ready!==undefined?root.ready(selector):selector(jQuery)}return jQuery.makeArray(selector,this)};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true}}})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets=typeof selectors!=="string"&&jQuery(selectors);if(!rneedsContext.test(selectors)){for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(targets?targets.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}}}}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){if(!elem){return this[0]&&this[0].parentNode?this.first().prevAll().length:-1}if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0])}return indexOf.call(this,elem.jquery?elem[0]:elem)},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){}return cur}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){if(nodeName(elem,"iframe")){return elem.contentDocument}if(nodeName(elem,"template")){elem=elem.content||elem}return jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until}if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched)}if(this.length>1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched)}if(rparentsprev.test(name)){matched.reverse()}}return this.pushStack(matched)}});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;function createOptions(options){var object={};jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=true});return object}jQuery.Callbacks=function(options){options=typeof options==="string"?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){locked=locked||options.once;fired=firing=true;for(;queue.length;firingIndex=-1){memory=queue.shift();while(++firingIndex<list.length){if(list[firingIndex].apply(memory[0],memory[1])===false&&options.stopOnFalse){firingIndex=list.length;memory=false}}}if(!options.memory){memory=false}firing=false;if(locked){if(memory){list=[]}else{list=""}}},self={add:function(){if(list){if(memory&&!firing){firingIndex=list.length-1;queue.push(memory)}(function add(args){jQuery.each(args,function(_,arg){if(jQuery.isFunction(arg)){if(!options.unique||!self.has(arg)){list.push(arg)}}else if(arg&&arg.length&&jQuery.type(arg)!=="string"){add(arg)}})})(arguments);if(memory&&!firing){fire()}}return this},remove:function(){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(index<=firingIndex){firingIndex--}}});return this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){if(list){list=[]}return this},disable:function(){locked=queue=[];list=memory="";return this},disabled:function(){return!list},lock:function(){locked=queue=[];if(!memory&&!firing){list=memory=""}return this},locked:function(){return!!locked},fireWith:function(context,args){if(!locked){args=args||[];args=[context,args.slice?args.slice():args];queue.push(args);if(!firing){fire()}}return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};function Identity(v){return v}function Thrower(ex){throw ex}function adoptValue(value,resolve,reject,noValue){var method;try{if(value&&jQuery.isFunction(method=value.promise)){method.call(value).done(resolve).fail(reject)}else if(value&&jQuery.isFunction(method=value.then)){method.call(value,resolve,reject)}else{resolve.apply(undefined,[value].slice(noValue))}}catch(value){reject.apply(undefined,[value])}}jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state},always:function(){deferred.done(arguments).fail(arguments);return this},catch:function(fn){return promise.then(null,fn)},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject)}else{newDefer[tuple[0]+"With"](this,fn?[returned]:arguments)}})});fns=null}).promise()},then:function(onFulfilled,onRejected,onProgress){var maxDepth=0;function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(depth<maxDepth){return}returned=handler.apply(that,args);if(returned===deferred.promise()){throw new TypeError("Thenable self-resolution")}then=returned&&(typeof returned==="object"||typeof returned==="function")&&returned.then;if(jQuery.isFunction(then)){if(special){then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special))}else{maxDepth++;then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith))}}else{if(handler!==Identity){that=undefined;args=[returned]}(special||deferred.resolveWith)(that,args)}},process=special?mightThrow:function(){try{mightThrow()}catch(e){if(jQuery.Deferred.exceptionHook){jQuery.Deferred.exceptionHook(e,process.stackTrace)}if(depth+1>=maxDepth){if(handler!==Thrower){that=undefined;args=[e]}deferred.rejectWith(that,args)}}};if(depth){process()}else{if(jQuery.Deferred.getStackHook){process.stackTrace=jQuery.Deferred.getStackHook()}window.setTimeout(process)}}}return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,jQuery.isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith));tuples[1][3].add(resolve(0,newDefer,jQuery.isFunction(onFulfilled)?onFulfilled:Identity));tuples[2][3].add(resolve(0,newDefer,jQuery.isFunction(onRejected)?onRejected:Thrower))}).promise()},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise}},deferred={};jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString},tuples[3-i][2].disable,tuples[0][2].lock)}list.add(tuple[3].fire);deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);return this};deferred[tuple[0]+"With"]=list.fireWith});promise.promise(deferred);if(func){func.call(deferred,deferred)}return deferred},when:function(singleValue){var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),master=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this;resolveValues[i]=arguments.length>1?slice.call(arguments):value;if(!--remaining){master.resolveWith(resolveContexts,resolveValues)}}};if(remaining<=1){adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject,!remaining);if(master.state()==="pending"||jQuery.isFunction(resolveValues[i]&&resolveValues[i].then)){return master.then()}}while(i--){adoptValue(resolveValues[i],updateFunc(i),master.reject)}return master.promise()}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack)}};jQuery.readyException=function(error){window.setTimeout(function(){throw error})};var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){readyList.then(fn).catch(function(error){jQuery.readyException(error)});return this};jQuery.extend({isReady:false,readyWait:1,ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.resolveWith(document,[jQuery])}});jQuery.ready.then=readyList.then;function completed(){document.removeEventListener("DOMContentLoaded",completed);window.removeEventListener("load",completed);jQuery.ready()}if(document.readyState==="complete"||document.readyState!=="loading"&&!document.documentElement.doScroll){window.setTimeout(jQuery.ready)}else{document.addEventListener("DOMContentLoaded",completed);window.addEventListener("load",completed)}var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key){access(elems,fn,i,key[i],true,emptyGet,raw)}}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true}if(bulk){if(raw){fn.call(elems,value);fn=null}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value)}}}if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)))}}}if(chainable){return elems}if(bulk){return fn.call(elems)}return len?fn(elems[0],key):emptyGet};var acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!+owner.nodeType};function Data(){this.expando=jQuery.expando+Data.uid++}Data.uid=1;Data.prototype={cache:function(owner){var value=owner[this.expando];if(!value){value={};if(acceptData(owner)){if(owner.nodeType){owner[this.expando]=value}else{Object.defineProperty(owner,this.expando,{value:value,configurable:true})}}}return value},set:function(owner,data,value){var prop,cache=this.cache(owner);if(typeof data==="string"){cache[jQuery.camelCase(data)]=value}else{for(prop in data){cache[jQuery.camelCase(prop)]=data[prop]}}return cache},get:function(owner,key){return key===undefined?this.cache(owner):owner[this.expando]&&owner[this.expando][jQuery.camelCase(key)]},access:function(owner,key,value){if(key===undefined||key&&typeof key==="string"&&value===undefined){return this.get(owner,key)}this.set(owner,key,value);return value!==undefined?value:key},remove:function(owner,key){var i,cache=owner[this.expando];if(cache===undefined){return}if(key!==undefined){if(Array.isArray(key)){key=key.map(jQuery.camelCase)}else{key=jQuery.camelCase(key);key=key in cache?[key]:key.match(rnothtmlwhite)||[]}i=key.length;while(i--){delete cache[key[i]]}}if(key===undefined||jQuery.isEmptyObject(cache)){if(owner.nodeType){owner[this.expando]=undefined}else{delete owner[this.expando]}}},hasData:function(owner){var cache=owner[this.expando];return cache!==undefined&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data;var dataUser=new Data;var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;function getData(data){if(data==="true"){return true}if(data==="false"){return false}if(data==="null"){return null}if(data===+data+""){return+data}if(rbrace.test(data)){return JSON.parse(data)}return data}function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=getData(data)}catch(e){}dataUser.set(elem,key,data)}else{data=undefined}}return data}jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=dataUser.get(elem);if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name])}}}dataPriv.set(elem,"hasDataAttrs",true)}}return data}if(typeof key==="object"){return this.each(function(){dataUser.set(this,key)})}return access(this,function(value){var data;if(elem&&value===undefined){data=dataUser.get(elem,key);if(data!==undefined){return data}data=dataAttr(elem,key);if(data!==undefined){return data}return}this.each(function(){dataUser.set(this,key,value)})},null,value,arguments.length>1,null,true)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=dataPriv.get(elem,type);if(data){if(!queue||Array.isArray(data)){queue=dataPriv.access(elem,type,jQuery.makeArray(data))}else{queue.push(data)}}return queue||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};if(fn==="inprogress"){fn=queue.shift();startLength--}if(fn){if(type==="fx"){queue.unshift("inprogress")}delete hooks.stop;fn.call(elem,next,hooks)}if(!startLength&&hooks){hooks.empty.fire()}},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--}if(arguments.length<setter){return jQuery.queue(this[0],type)}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!--count){defer.resolveWith(elements,[elements])}};if(typeof type!=="string"){obj=type;type=undefined}type=type||"fx";while(i--){tmp=dataPriv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve)}}resolve();return defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source;var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");var cssExpand=["Top","Right","Bottom","Left"];var isHiddenWithinTree=function(elem,el){elem=el||elem;return elem.style.display==="none"||elem.style.display===""&&jQuery.contains(elem.ownerDocument,elem)&&jQuery.css(elem,"display")==="none"};var swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]}ret=callback.apply(elem,args||[]);for(name in options){elem.style[name]=old[name]}return ret};function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3];valueParts=valueParts||[];initialInUnit=+initial||1;do{scale=scale||".5";initialInUnit=initialInUnit/scale;jQuery.style(elem,prop,initialInUnit+unit)}while(scale!==(scale=currentValue()/initial)&&scale!==1&&--maxIterations)}if(valueParts){initialInUnit=+initialInUnit||+initial||0;adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2];if(tween){tween.unit=unit;tween.start=initialInUnit;tween.end=adjusted}}return adjusted}var defaultDisplayMap={};function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];if(display){return display}temp=doc.body.appendChild(doc.createElement(nodeName));display=jQuery.css(temp,"display");temp.parentNode.removeChild(temp);if(display==="none"){display="block"}defaultDisplayMap[nodeName]=display;return display}function showHide(elements,show){var display,elem,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue}display=elem.style.display;if(show){if(display==="none"){values[index]=dataPriv.get(elem,"display")||null;if(!values[index]){elem.style.display=""}}if(elem.style.display===""&&isHiddenWithinTree(elem)){values[index]=getDefaultDisplay(elem)}}else{if(display!=="none"){values[index]="none";dataPriv.set(elem,"display",display)}}}for(index=0;index<length;index++){if(values[index]!=null){elements[index].style.display=values[index]}}return elements}jQuery.fn.extend({show:function(){return showHide(this,true)},hide:function(){return showHide(this)},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide()}return this.each(function(){if(isHiddenWithinTree(this)){jQuery(this).show()}else{jQuery(this).hide()}})}});var rcheckableType=/^(?:checkbox|radio)$/i;var rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i;var rscriptType=/^$|\/(?:java|ecma)script/i;var wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function getAll(context,tag){var ret;if(typeof context.getElementsByTagName!=="undefined"){ret=context.getElementsByTagName(tag||"*")}else if(typeof context.querySelectorAll!=="undefined"){ret=context.querySelectorAll(tag||"*")}else{ret=[]}if(tag===undefined||tag&&nodeName(context,tag)){return jQuery.merge([context],ret)}return ret}function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}}var rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem)}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem))}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild}jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent=""}}}fragment.textContent="";i=0;while(elem=nodes[i++]){if(selection&&jQuery.inArray(elem,selection)>-1){if(ignored){ignored.push(elem)}continue}contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(fragment.appendChild(elem),"script");if(contains){setGlobalEval(tmp)}if(scripts){j=0;while(elem=tmp[j++]){if(rscriptType.test(elem.type||"")){scripts.push(elem)}}}}return fragment}(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue})();var documentElement=document.documentElement;var rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return true}function returnFalse(){return false}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined}for(type in types){on(elem,type,selector,data,types[type],one)}return elem}if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined}}if(fn===false){fn=returnFalse}else if(!fn){return elem}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)}return elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}jQuery.event={global:{},add:function(elem,types,handler,data,selector){
+var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(!elemData){return}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector}if(selector){jQuery.find.matchesSelector(documentElement,selector)}if(!handler.guid){handler.guid=jQuery.guid++}if(!(events=elemData.events)){events=elemData.events={}}if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined}}types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle)}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else{handlers.push(handleObj)}jQuery.event.global[type]=true}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(!elemData||!(events=elemData.events)){return}types=(types||"").match(rnothtmlwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true)}continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--}if(special.remove){special.remove.call(elem,handleObj)}}}if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle)}delete events[type]}}if(jQuery.isEmptyObject(events)){dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var event=jQuery.event.fix(nativeEvent);var i,j,ret,matched,handleObj,handlerQueue,args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;for(i=1;i<arguments.length;i++){args[i]=arguments[i]}event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return}handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.rnamespace||event.rnamespace.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation()}}}}}if(special.postDispatch){special.postDispatch.call(this,event)}return event.result},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!(event.type==="click"&&event.button>=1)){for(;cur!==this;cur=cur.parentNode||this){if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){matchedHandlers=[];matchedSelectors={};for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matchedSelectors[sel]===undefined){matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length}if(matchedSelectors[sel]){matchedHandlers.push(handleObj)}}if(matchedHandlers.length){handlerQueue.push({elem:cur,handlers:matchedHandlers})}}}}cur=this;if(delegateCount<handlers.length){handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)})}return handlerQueue},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:true,configurable:true,get:jQuery.isFunction(hook)?function(){if(this.originalEvent){return hook(this.originalEvent)}}:function(){if(this.originalEvent){return this.originalEvent[name]}},set:function(value){Object.defineProperty(this,name,{enumerable:true,configurable:true,writable:true,value:value})}})},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent)},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){this.focus();return false}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false}},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&nodeName(this,"input")){this.click();return false}},_default:function(event){return nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result}}}}};jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle)}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props)}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse;this.target=src.target&&src.target.nodeType===3?src.target.parentNode:src.target;this.currentTarget=src.currentTarget;this.relatedTarget=src.relatedTarget}else{this.type=src}if(props){jQuery.extend(this,props)}this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:false,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e&&!this.isSimulated){e.preventDefault()}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopPropagation()}},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&!this.isSimulated){e.stopImmediatePropagation()}this.stopPropagation()}};jQuery.each({altKey:true,bubbles:true,cancelable:true,changedTouches:true,ctrlKey:true,detail:true,eventPhase:true,metaKey:true,pageX:true,pageY:true,shiftKey:true,view:true,char:true,charCode:true,key:true,keyCode:true,button:true,buttons:true,clientX:true,clientY:true,offsetX:true,offsetY:true,pointerId:true,pointerType:true,screenX:true,screenY:true,targetTouches:true,toElement:true,touches:true,which:function(event){var button=event.button;if(event.which==null&&rkeyEvent.test(event.type)){return event.charCode!=null?event.charCode:event.keyCode}if(!event.which&&button!==undefined&&rmouseEvent.test(event.type)){if(button&1){return 1}if(button&2){return 3}if(button&4){return 2}return 0}return event.which}},jQuery.event.addProp);jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix}return ret}}});jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this}if(typeof types==="object"){for(type in types){this.off(type,selector,types[type])}return this}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined}if(fn===false){fn=returnFalse}return this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function manipulationTarget(elem,content){if(nodeName(elem,"table")&&nodeName(content.nodeType!==11?content:content.firstChild,"tr")){return jQuery(">tbody",elem)[0]||elem}return elem}function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1]}else{elem.removeAttribute("type")}return elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1){return}if(dataPriv.hasData(src)){pdataOld=dataPriv.access(src);pdataCur=dataPriv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i])}}}}if(dataUser.hasData(src)){udataOld=dataUser.access(src);udataCur=jQuery.extend({},udataOld);dataUser.set(dest,udataCur)}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value)){return collection.each(function(index){var self=collection.eq(index);if(isFunction){args[0]=value.call(this,index,self.html())}domManip(self,args,callback,ignored)})}if(l){fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first}if(first||ignored){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"))}}callback.call(collection[i],node,i)}if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){if(jQuery._evalUrl){jQuery._evalUrl(node.src)}}else{DOMEval(node.textContent.replace(rcleanScript,""),doc)}}}}}}return collection}function remove(elem,selector,keepData){var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;for(;(node=nodes[i])!=null;i++){if(!keepData&&node.nodeType===1){jQuery.cleanData(getAll(node))}if(node.parentNode){if(keepData&&jQuery.contains(node.ownerDocument,node)){setGlobalEval(getAll(node,"script"))}node.parentNode.removeChild(node)}}return elem}jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i])}}if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i])}}else{cloneCopyEvent(elem,clone)}}destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"))}return clone},cleanData:function(elems){var data,elem,type,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}}elem[dataPriv.expando]=undefined}if(elem[dataUser.expando]){elem[dataUser.expando]=undefined}}}}});jQuery.fn.extend({detach:function(selector){return remove(this,selector,true)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value}})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this)}})},after:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling)}})},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent=""}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value}}elem=0}catch(e){}}if(elem){this.empty().append(value)}},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;if(jQuery.inArray(this,ignored)<0){jQuery.cleanData(getAll(this));if(parent){parent.replaceChild(elem,this)}}},ignored)}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get())}return this.pushStack(ret)}});var rmargin=/^margin/;var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles=function(elem){var view=elem.ownerDocument.defaultView;if(!view||!view.opener){view=window}return view.getComputedStyle(elem)};(function(){function computeStyleTests(){if(!div){return}div.style.cssText="box-sizing:border-box;"+"position:relative;display:block;"+"margin:auto;border:1px;padding:1px;"+"top:1%;width:50%";div.innerHTML="";documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal=divStyle.top!=="1%";reliableMarginLeftVal=divStyle.marginLeft==="2px";boxSizingReliableVal=divStyle.width==="4px";div.style.marginRight="50%";pixelMarginRightVal=divStyle.marginRight==="4px";documentElement.removeChild(container);div=null}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");if(!div.style){return}div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;"+"padding:0;margin-top:1px;position:absolute";container.appendChild(div);jQuery.extend(support,{pixelPosition:function(){computeStyleTests();return pixelPositionVal},boxSizingReliable:function(){computeStyleTests();return boxSizingReliableVal},pixelMarginRight:function(){computeStyleTests();return pixelMarginRightVal},reliableMarginLeft:function(){computeStyleTests();return reliableMarginLeftVal}})})();function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);if(computed){ret=computed.getPropertyValue(name)||computed[name];if(ret===""&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name)}if(!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth}}return ret!==undefined?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return}return(this.get=hookFn).apply(this,arguments)}}}var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rcustomProp=/^--/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;function vendorPropName(name){if(name in emptyStyle){return name}var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in emptyStyle){return name}}}function finalPropName(name){var ret=jQuery.cssProps[name];if(!ret){ret=jQuery.cssProps[name]=vendorPropName(name)||name}return ret}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i,val=0;if(extra===(isBorderBox?"border":"content")){i=4}else{i=name==="width"?1:0}for(;i<4;i+=2){if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles)}if(isBorderBox){if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles)}if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}}return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox,styles=getStyles(elem),val=curCSS(elem,name,styles),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(rnumnonpx.test(val)){return val}valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);if(val==="auto"){val=elem["offset"+name[0].toUpperCase()+name.slice(1)]}val=parseFloat(val)||0;return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}}}},cssNumber:{animationIterationCount:true,columnCount:true,fillOpacity:true,flexGrow:true,flexShrink:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{float:"cssFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,type,hooks,origName=jQuery.camelCase(name),isCustomProp=rcustomProp.test(name),style=elem.style;if(!isCustomProp){name=finalPropName(origName)}hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){value=adjustCSS(elem,name,ret);type="number"}if(value==null||value!==value){return}if(type==="number"){value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")}if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit"}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){if(isCustomProp){style.setProperty(name,value)}else{style[name]=value}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret}return style[name]}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name),isCustomProp=rcustomProp.test(name);if(!isCustomProp){name=finalPropName(origName)}hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra)}if(val===undefined){val=curCSS(elem,name,styles)}if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name]}if(extra===""||extra){num=parseFloat(val);return extra===true||isFinite(num)?num||0:val}return val}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)}},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles);if(subtract&&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem,name)}return setPositiveNumber(elem,value,subtract)}}});jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed){return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px"}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0]}return expanded}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(Array.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles)}return map}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||jQuery.easing._default;this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration)}else{this.pos=eased=percent}this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(hooks&&hooks.set){hooks.set(this)}else{Tween.propHooks._default.set(this)}return this}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem.nodeType!==1||tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){return tween.elem[tween.prop]}result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween)}else if(tween.elem.nodeType===1&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}else{tween.elem[tween.prop]=tween.now}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now}}};jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;function schedule(){if(inProgress){if(document.hidden===false&&window.requestAnimationFrame){window.requestAnimationFrame(schedule)}else{window.setTimeout(schedule,jQuery.fx.interval)}jQuery.fx.tick()}}function createFxNow(){window.setTimeout(function(){fxNow=undefined});return fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type}if(includeWidth){attrs.opacity=attrs.width=type}return attrs}function createTween(value,prop,animation){var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if(tween=collection[index].call(animation,prop,value)){return tween}}}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire()}}}hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire()}})})}for(prop in props){value=props[prop];if(rfxtypes.test(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true}else{continue}}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}}propTween=!jQuery.isEmptyObject(props);if(!propTween&&jQuery.isEmptyObject(orig)){return}if(isBox&&elem.nodeType===1){opts.overflow=[style.overflow,style.overflowX,style.overflowY];restoreDisplay=dataShow&&dataShow.display;if(restoreDisplay==null){restoreDisplay=dataPriv.get(elem,"display")}display=jQuery.css(elem,"display");if(display==="none"){if(restoreDisplay){display=restoreDisplay}else{showHide([elem],true);restoreDisplay=elem.style.display||restoreDisplay;display=jQuery.css(elem,"display");showHide([elem])}}if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){if(jQuery.css(elem,"float")==="none"){if(!propTween){anim.done(function(){style.display=restoreDisplay});if(restoreDisplay==null){display=style.display;restoreDisplay=display==="none"?"":display}}style.display="inline-block"}}}if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2]})}propTween=false;for(prop in orig){if(!propTween){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden}}else{dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay})}if(toggle){dataShow.hidden=!hidden}if(hidden){showHide([elem],true)}anim.done(function(){if(!hidden){showHide([elem])}dataPriv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop])}})}propTween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=propTween.start;if(hidden){propTween.end=propTween.start;propTween.start=0}}}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(Array.isArray(value)){easing=value[1];value=props[index]=value[0]}if(index!==name){props[name]=value;delete props[index]}hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing}}}else{specialEasing[name]=easing}}}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped){return false}var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent)}deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining}if(!length){deferred.notifyWith(elem,[animation,1,0])}deferred.resolveWith(elem,[animation]);return false},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this}stopped=true;for(;index<length;index++){animation.tweens[index].run(1)}if(gotoEnd){deferred.notifyWith(elem,[animation,1,0]);deferred.resolveWith(elem,[animation,gotoEnd])}else{deferred.rejectWith(elem,[animation,gotoEnd])}return this}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=Animation.prefilters[index].call(animation,elem,props,animation.opts);if(result){if(jQuery.isFunction(result.stop)){jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)}return result}}jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation)}animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation}jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){
+var tween=this.createTween(prop,value);adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);return tween}]},tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"]}else{props=props.match(rnothtmlwhite)}var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];Animation.tweeners[prop]=Animation.tweeners[prop]||[];Animation.tweeners[prop].unshift(callback)}},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){if(prepend){Animation.prefilters.unshift(callback)}else{Animation.prefilters.push(callback)}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};if(jQuery.fx.off){opt.duration=0}else{if(typeof opt.duration!=="number"){if(opt.duration in jQuery.fx.speeds){opt.duration=jQuery.fx.speeds[opt.duration]}else{opt.duration=jQuery.fx.speeds._default}}}if(opt.queue==null||opt.queue===true){opt.queue="fx"}opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this)}if(opt.queue){jQuery.dequeue(this,opt.queue)}};return opt};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||dataPriv.get(this,"finish")){anim.stop(true)}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd)};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined}if(clearQueue&&type!==false){this.queue(type||"fx",[])}return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index])}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index])}}}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1)}}if(dequeue||!gotoEnd){jQuery.dequeue(this,type)}})},finish:function(type){if(type!==false){type=type||"fx"}return this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true)}for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1)}}for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this)}}delete data.finish})}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback)}});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}fxNow=undefined};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);jQuery.fx.start()};jQuery.fx.interval=13;jQuery.fx.start=function(){if(inProgress){return}inProgress=true;schedule()};jQuery.fx.stop=function(){inProgress=null};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t"})();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}});jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return}if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value)}if(nType!==1||!jQuery.isXMLDoc(elem)){hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:undefined)}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return}if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}elem.setAttribute(name,value+"");return value}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val}return value}}}},removeAttr:function(elem,value){var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&elem.nodeType===1){while(name=attrNames[i++]){elem.removeAttribute(name)}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name)}else{elem.setAttribute(name,name)}return name}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();if(!isXML){handle=attrHandle[lowercaseName];attrHandle[lowercaseName]=ret;ret=getter(elem,name,isXML)!=null?lowercaseName:null;attrHandle[lowercaseName]=handle}return ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}});jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return}if(nType!==1||!jQuery.isXMLDoc(elem)){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]}if(value!==undefined){if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}return elem[name]=value}if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}return elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");if(tabindex){return parseInt(tabindex,10)}if(rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href){return 0}return-1}}},propFix:{for:"htmlFor",class:"className"}});if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex}return null},set:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex}}}}}jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this});function stripAndCollapse(value){var tokens=value.match(rnothtmlwhite)||[];return tokens.join(" ")}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))})}if(typeof value==="string"&&value){classes=value.match(rnothtmlwhite)||[];while(elem=this[i++]){curValue=getClass(elem);cur=elem.nodeType===1&&" "+stripAndCollapse(curValue)+" ";if(cur){j=0;while(clazz=classes[j++]){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" "}}finalValue=stripAndCollapse(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue)}}}}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))})}if(!arguments.length){return this.attr("class","")}if(typeof value==="string"&&value){classes=value.match(rnothtmlwhite)||[];while(elem=this[i++]){curValue=getClass(elem);cur=elem.nodeType===1&&" "+stripAndCollapse(curValue)+" ";if(cur){j=0;while(clazz=classes[j++]){while(cur.indexOf(" "+clazz+" ")>-1){cur=cur.replace(" "+clazz+" "," ")}}finalValue=stripAndCollapse(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue)}}}}return this},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value)}if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)})}return this.each(function(){var className,i,self,classNames;if(type==="string"){i=0;self=jQuery(this);classNames=value.match(rnothtmlwhite)||[];while(className=classNames[i++]){if(self.hasClass(className)){self.removeClass(className)}else{self.addClass(className)}}}else if(value===undefined||type==="boolean"){className=getClass(this);if(className){dataPriv.set(this,"__className__",className)}if(this.setAttribute){this.setAttribute("class",className||value===false?"":dataPriv.get(this,"__className__")||"")}}})},hasClass:function(selector){var className,elem,i=0;className=" "+selector+" ";while(elem=this[i++]){if(elem.nodeType===1&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){return true}}return false}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret}ret=elem.value;if(typeof ret==="string"){return ret.replace(rreturn,"")}return ret==null?"":ret}return}isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,jQuery(this).val())}else{val=value}if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(Array.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val}})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:stripAndCollapse(jQuery.text(elem))}},select:{get:function(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one",values=one?null:[],max=one?index+1:options.length;if(index<0){i=max}else{i=one?index:0}for(;i<max;i++){option=options[i];if((option.selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}return values},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1){optionSet=true}}if(!optionSet){elem.selectedIndex=-1}return values}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(Array.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value}}});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return}if(rfocusMorph.test(type+jQuery.event.triggered)){return}if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()}ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem}data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return}if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window)}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur,data)}handle=ontype&&cur[ontype];if(handle&&handle.apply&&acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault()}}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&acceptData(elem)){if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null}jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp}}}}return event.result},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:true});jQuery.event.trigger(e,null,elem)}});jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true)}}});jQuery.each(("blur focus focusin focusout resize scroll click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});support.focusin="onfocusin"in window;if(!support.focusin){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true)}dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);dataPriv.remove(doc,fix)}else{dataPriv.access(doc,fix,attaches)}}}})}var location=window.location;var nonce=jQuery.now();var rquery=/\?/;jQuery.parseXML=function(data){var xml;if(!data||typeof data!=="string"){return null}try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=undefined}if(!xml||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data)}return xml};var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(Array.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",v,traditional,add)}})}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add)}}else{add(prefix,obj)}}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=jQuery.isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value==null?"":value)};if(Array.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){jQuery.each(a,function(){add(this.name,this.value)})}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&")};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();if(val==null){return null}if(Array.isArray(val)){return jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}})}return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href;function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(jQuery.isFunction(func)){while(dataType=dataTypes[i++]){if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func)}else{(structure[dataType]=structure[dataType]||[]).push(func)}}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false}else if(seekingTransport){return!(selected=dataTypeOrTransport)}});return selected}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key]}}if(deep){jQuery.extend(true,target,deep)}return target}function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv]}}current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response}if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType)}prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2]}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1])}break}}}}if(conv!==true){if(conv&&s.throws){response=conv(response)}else{try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}}}}}return{state:"success",data:response}}jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined}options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match==null?null:match},getAllResponseHeaders:function(){return completed?responseHeadersString:null},setRequestHeader:function(name,value){if(completed==null){name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name;requestHeaders[name]=value}return this},overrideMimeType:function(type){if(completed==null){s.mimeType=type}return this},statusCode:function(map){var code;if(map){if(completed){jqXHR.always(map[jqXHR.status])}else{for(code in map){statusCode[code]=[statusCode[code],map[code]]}}}return this},abort:function(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText)}done(0,finalText);return this}};deferred.promise(jqXHR);s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];if(s.crossDomain==null){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url;urlAnchor.href=urlAnchor.href;s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=true}}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(completed){return jqXHR}fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url.replace(rhash,"");if(!s.hasContent){uncached=s.url.slice(cacheURL.length);if(s.data){cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;delete s.data}if(s.cache===false){cacheURL=cacheURL.replace(rantiCache,"$1");uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce+++uncached}s.url=cacheURL+uncached}else if(s.data&&s.processData&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){s.data=s.data.replace(r20,"+")}if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL])}if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType)}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i])}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){return jqXHR.abort()}strAbort="abort";completeDeferred.add(s.complete);jqXHR.done(s.success);jqXHR.fail(s.error);transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s])}if(completed){return jqXHR}if(s.async&&s.timeout>0){timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout)}try{completed=false;transport.send(requestHeaders,done)}catch(e){if(completed){throw e}done(-1,e)}}function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(completed){return}completed=true;if(timeoutTimer){window.clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses)}response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified}modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified}}if(status===204||s.type==="HEAD"){statusText="nocontent"}else if(status===304){statusText="notmodified"}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0}}}jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error])}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error])}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!--jQuery.active){jQuery.event.trigger("ajaxStop")}}}return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined}return jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:true,async:false,global:false,throws:true})};jQuery.fn.extend({wrapAll:function(html){var wrap;if(this[0]){if(jQuery.isFunction(html)){html=html.call(this[0])}wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(selector){this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes)});return this}});jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem)};jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)};jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported;support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain){return{send:function(headers,complete){var i,xhr=options.xhr();xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i]}}if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType)}if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest"}for(i in headers){xhr.setRequestHeader(i,headers[i])}callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort()}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error")}else{complete(xhr.status,xhr.statusText)}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders())}}}};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback()}})}}}callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback){throw e}}},abort:function(){if(callback){callback()}}}}});jQuery.ajaxPrefilter(function(s){if(s.crossDomain){s.contents.script=false}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"},contents:{
+script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false}if(s.crossDomain){s.type="GET"}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type)}});document.head.appendChild(script[0])},abort:function(){if(callback){callback()}}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;this[callback]=true;return callback}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName)}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName}s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments};jqXHR.always(function(){if(overwritten===undefined){jQuery(window).removeProp(callbackName)}else{window[callbackName]=overwritten}if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName)}if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0])}responseContainer=overwritten=undefined});return"script"}});support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument("").body;body.innerHTML="<form></form><form></form>";return body.childNodes.length===2}();jQuery.parseHTML=function(data,context,keepScripts){if(typeof data!=="string"){return[]}if(typeof context==="boolean"){keepScripts=context;context=false}var base,parsed,scripts;if(!context){if(support.createHTMLDocument){context=document.implementation.createHTMLDocument("");base=context.createElement("base");base.href=document.location.href;context.head.appendChild(base)}else{context=document}}parsed=rsingleTag.exec(data);scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])]}parsed=buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove()}return jQuery.merge([],parsed.childNodes)};jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");if(off>-1){selector=stripAndCollapse(url.slice(off));url=url.slice(0,off)}if(jQuery.isFunction(params)){callback=params;params=undefined}else if(params&&typeof params==="object"){type="POST"}if(self.length>0){jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})})}return this};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}});jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length};jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative"}curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0}if(jQuery.isFunction(options)){options=options.call(elem,i,jQuery.extend({},curOffset))}if(options.top!=null){props.top=options.top-curOffset.top+curTop}if(options.left!=null){props.left=options.left-curOffset.left+curLeft}if("using"in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)})}var doc,docElem,rect,win,elem=this[0];if(!elem){return}if(!elem.getClientRects().length){return{top:0,left:0}}rect=elem.getBoundingClientRect();doc=elem.ownerDocument;docElem=doc.documentElement;win=doc.defaultView;return{top:rect.top+win.pageYOffset-docElem.clientTop,left:rect.left+win.pageXOffset-docElem.clientLeft}},position:function(){if(!this[0]){return}var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect()}else{offsetParent=this.offsetParent();offset=this.offset();if(!nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset()}parentOffset={top:parentOffset.top+jQuery.css(offsetParent[0],"borderTopWidth",true),left:parentOffset.left+jQuery.css(offsetParent[0],"borderLeftWidth",true)}}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent;while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){offsetParent=offsetParent.offsetParent}return offsetParent||documentElement})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(jQuery.isWindow(elem)){win=elem}else if(elem.nodeType===9){win=elem.defaultView}if(val===undefined){return win?win[prop]:elem[method]}if(win){win.scrollTo(!top?val:win.pageXOffset,top?val:win.pageYOffset)}else{elem[method]=val}},method,val,arguments.length)}});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed}})});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem)){return funcName.indexOf("outer")===0?elem["inner"+name]:elem.document.documentElement["client"+name]}if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])}return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable)}})});jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn)}});jQuery.holdReady=function(hold){if(hold){jQuery.readyWait++}else{jQuery.ready(true)}};jQuery.isArray=Array.isArray;jQuery.parseJSON=JSON.parse;jQuery.nodeName=nodeName;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery})}var _jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery}return jQuery};if(!noGlobal){window.jQuery=window.$=jQuery}return jQuery});
diff --git a/coverage_html_report/navipy___init___py.html b/coverage_html_report/navipy___init___py.html
index dc1f8ca..6622021 100644
--- a/coverage_html_report/navipy___init___py.html
+++ b/coverage_html_report/navipy___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/__init__.py: 79%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/__init__.py</b> :
             <span class="pc_cov">79%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             34 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">27 run</span>
             <span class="mis shortkey_m button_toggle_mis">7 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -161,7 +148,6 @@
 <p id="n92" class="pln"><a href="#n92">92</a></p>
 <p id="n93" class="stm run hide_run"><a href="#n93">93</a></p>
 <p id="n94" class="stm run hide_run"><a href="#n94">94</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -258,20 +244,17 @@
 <p id="t92" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t93" class="stm run hide_run"><span class="key">def</span> <span class="nam">unittestlogger</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t94" class="stm run hide_run">    <span class="nam">logger</span><span class="op">(</span><span class="nam">level</span><span class="op">=</span><span class="nam">logging</span><span class="op">.</span><span class="nam">CRITICAL</span><span class="op">,</span> <span class="nam">filename</span><span class="op">=</span><span class="key">None</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_arenatools___init___py.html b/coverage_html_report/navipy_arenatools___init___py.html
index 9443e3a..33457b9 100644
--- a/coverage_html_report/navipy_arenatools___init___py.html
+++ b/coverage_html_report/navipy_arenatools___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/arenatools/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/arenatools/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,28 +50,23 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
             <td class="linenos">
-
             </td>
             <td class="text">
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_arenatools_cam_calib_py.html b/coverage_html_report/navipy_arenatools_cam_calib_py.html
index 901c94b..f08119d 100644
--- a/coverage_html_report/navipy_arenatools_cam_calib_py.html
+++ b/coverage_html_report/navipy_arenatools_cam_calib_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/arenatools/cam_calib.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/arenatools/cam_calib.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             82 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">82 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -220,7 +207,6 @@
 <p id="n151" class="stm mis"><a href="#n151">151</a></p>
 <p id="n152" class="stm mis"><a href="#n152">152</a></p>
 <p id="n153" class="stm mis"><a href="#n153">153</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -376,20 +362,17 @@
 <p id="t151" class="stm mis">    <span class="nam">ax4</span><span class="op">.</span><span class="nam">set_ylabel</span><span class="op">(</span><span class="str">'{} [{}]'</span><span class="op">.</span><span class="nam">format</span><span class="op">(</span><span class="str">'y'</span><span class="op">,</span> <span class="nam">unit</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t152" class="stm mis">    <span class="nam">ax4</span><span class="op">.</span><span class="nam">set_zlabel</span><span class="op">(</span><span class="str">'{} [{}]'</span><span class="op">.</span><span class="nam">format</span><span class="op">(</span><span class="str">'z'</span><span class="op">,</span> <span class="nam">unit</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t153" class="stm mis">    <span class="key">return</span> <span class="nam">fig</span><span class="op">,</span> <span class="op">[</span><span class="nam">ax0</span><span class="op">,</span> <span class="nam">ax1</span><span class="op">,</span> <span class="nam">ax3</span><span class="op">,</span> <span class="nam">ax4</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_arenatools_cam_dlt_py.html b/coverage_html_report/navipy_arenatools_cam_dlt_py.html
index 68396cf..f04ea7d 100644
--- a/coverage_html_report/navipy_arenatools_cam_dlt_py.html
+++ b/coverage_html_report/navipy_arenatools_cam_dlt_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/arenatools/cam_dlt.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/arenatools/cam_dlt.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             165 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">165 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -357,7 +344,6 @@
 <p id="n288" class="stm mis"><a href="#n288">288</a></p>
 <p id="n289" class="pln"><a href="#n289">289</a></p>
 <p id="n290" class="stm mis"><a href="#n290">290</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">import</span> <span class="nam">pandas</span> <span class="key">as</span> <span class="nam">pd</span><span class="strut">&nbsp;</span></p>
@@ -650,20 +636,17 @@
 <p id="t288" class="stm mis">        <span class="key">return</span> <span class="nam">coeff</span><span class="op">,</span> <span class="nam">rmse</span><span class="strut">&nbsp;</span></p>
 <p id="t289" class="pln">    <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t290" class="stm mis">        <span class="key">raise</span> <span class="nam">ValueError</span><span class="op">(</span><span class="str">'nparams can be either [11,12,14,16]'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_arenatools_patterns_py.html b/coverage_html_report/navipy_arenatools_patterns_py.html
index 8d67c37..49409ca 100644
--- a/coverage_html_report/navipy_arenatools_patterns_py.html
+++ b/coverage_html_report/navipy_arenatools_patterns_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/arenatools/patterns.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/arenatools/patterns.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             34 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">34 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -165,7 +152,6 @@
 <p id="n96" class="stm mis"><a href="#n96">96</a></p>
 <p id="n97" class="stm mis"><a href="#n97">97</a></p>
 <p id="n98" class="stm mis"><a href="#n98">98</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -266,20 +252,17 @@
 <p id="t96" class="stm mis">    <span class="nam">corridor</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="op">[</span><span class="nam">width</span><span class="op">,</span> <span class="nam">length</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t97" class="stm mis">    <span class="nam">corridor_px</span> <span class="op">=</span> <span class="nam">corridor</span><span class="op">*</span><span class="nam">pixel_per_mm</span>  <span class="com"># in px</span><span class="strut">&nbsp;</span></p>
 <p id="t98" class="stm mis">    <span class="key">return</span> <span class="nam">generate_1overf_noise</span><span class="op">(</span><span class="nam">corridor_px</span><span class="op">,</span> <span class="nam">beta</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_arenatools_triangulate_py.html b/coverage_html_report/navipy_arenatools_triangulate_py.html
index d865755..98aad53 100644
--- a/coverage_html_report/navipy_arenatools_triangulate_py.html
+++ b/coverage_html_report/navipy_arenatools_triangulate_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/arenatools/triangulate.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/arenatools/triangulate.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             106 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">106 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -259,7 +246,6 @@
 <p id="n190" class="pln"><a href="#n190">190</a></p>
 <p id="n191" class="stm mis"><a href="#n191">191</a></p>
 <p id="n192" class="pln"><a href="#n192">192</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -454,20 +440,17 @@
 <p id="t190" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t191" class="stm mis">    <span class="key">return</span> <span class="op">(</span><span class="op">(</span><span class="nam">np</span><span class="op">.</span><span class="nam">nansum</span><span class="op">(</span><span class="nam">point_3d</span><span class="op">,</span> <span class="nam">axis</span><span class="op">=</span><span class="num">0</span><span class="op">)</span> <span class="op">/</span> <span class="nam">np</span><span class="op">.</span><span class="nam">tile</span><span class="op">(</span><span class="nam">nvalid_comb</span><span class="op">,</span> <span class="op">(</span><span class="num">3</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span><span class="op">.</span><span class="nam">T</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t192" class="pln">            <span class="nam">point_3d</span><span class="op">,</span> <span class="nam">nvalid_comb</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_comparing___init___py.html b/coverage_html_report/navipy_comparing___init___py.html
index b429e73..26b1fa5 100644
--- a/coverage_html_report/navipy_comparing___init___py.html
+++ b/coverage_html_report/navipy_comparing___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/comparing/__init__.py: 65%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/comparing/__init__.py</b> :
             <span class="pc_cov">65%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             82 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">53 run</span>
             <span class="mis shortkey_m button_toggle_mis">29 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -265,7 +252,6 @@
 <p id="n196" class="stm mis"><a href="#n196">196</a></p>
 <p id="n197" class="stm mis"><a href="#n197">197</a></p>
 <p id="n198" class="stm mis"><a href="#n198">198</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -466,20 +452,17 @@
 <p id="t196" class="stm mis">    <span class="nam">j</span> <span class="op">=</span> <span class="nam">complex</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t197" class="stm mis">    <span class="nam">H</span> <span class="op">=</span> <span class="nam">w_svp</span> <span class="op">*</span> <span class="nam">np</span><span class="op">.</span><span class="nam">exp</span><span class="op">(</span><span class="nam">df_svp</span><span class="op">.</span><span class="nam">angle</span> <span class="op">*</span> <span class="nam">j</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t198" class="stm mis">    <span class="key">return</span> <span class="nam">np</span><span class="op">.</span><span class="nam">sum</span><span class="op">(</span><span class="nam">H</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_comparing_test_py.html b/coverage_html_report/navipy_comparing_test_py.html
index faaf168..0350815 100644
--- a/coverage_html_report/navipy_comparing_test_py.html
+++ b/coverage_html_report/navipy_comparing_test_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/comparing/test.py: 99%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/comparing/test.py</b> :
             <span class="pc_cov">99%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             178 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">177 run</span>
             <span class="mis shortkey_m button_toggle_mis">1 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -384,7 +371,6 @@
 <p id="n315" class="pln"><a href="#n315">315</a></p>
 <p id="n316" class="stm run hide_run"><a href="#n316">316</a></p>
 <p id="n317" class="stm mis"><a href="#n317">317</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
@@ -704,20 +690,17 @@
 <p id="t315" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t316" class="stm run hide_run"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t317" class="stm mis">    <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_database___init___py.html b/coverage_html_report/navipy_database___init___py.html
index 1a8076e..bb50337 100644
--- a/coverage_html_report/navipy_database___init___py.html
+++ b/coverage_html_report/navipy_database___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/database/__init__.py: 69%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/database/__init__.py</b> :
             <span class="pc_cov">69%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             558 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">383 run</span>
             <span class="mis shortkey_m button_toggle_mis">175 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -1027,7 +1014,6 @@
 <p id="n958" class="stm run hide_run"><a href="#n958">958</a></p>
 <p id="n959" class="stm run hide_run"><a href="#n959">959</a></p>
 <p id="n960" class="stm run hide_run"><a href="#n960">960</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -1990,20 +1976,17 @@
 <p id="t958" class="stm run hide_run">            <span class="nam">cmaxminrange</span><span class="op">.</span><span class="nam">loc</span><span class="op">[</span><span class="nam">str</span><span class="op">(</span><span class="nam">chan_n</span><span class="op">)</span> <span class="op">+</span> <span class="str">'_range'</span><span class="op">]</span> <span class="op">=</span> <span class="nam">crange</span><span class="strut">&nbsp;</span></p>
 <p id="t959" class="stm run hide_run">        <span class="nam">check_scene</span><span class="op">(</span><span class="nam">normed_im</span><span class="op">[</span><span class="op">...</span><span class="op">,</span> <span class="nam">np</span><span class="op">.</span><span class="nam">newaxis</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t960" class="stm run hide_run">        <span class="key">return</span> <span class="nam">normed_im</span><span class="op">,</span> <span class="nam">cmaxminrange</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_database_test_py.html b/coverage_html_report/navipy_database_test_py.html
index 1f23b4d..ddc3423 100644
--- a/coverage_html_report/navipy_database_test_py.html
+++ b/coverage_html_report/navipy_database_test_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/database/test.py: 57%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/database/test.py</b> :
             <span class="pc_cov">57%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             384 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">217 run</span>
             <span class="mis shortkey_m button_toggle_mis">167 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -742,7 +729,6 @@
 <p id="n673" class="pln"><a href="#n673">673</a></p>
 <p id="n674" class="stm run hide_run"><a href="#n674">674</a></p>
 <p id="n675" class="stm mis"><a href="#n675">675</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
@@ -1420,20 +1406,17 @@
 <p id="t673" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t674" class="stm run hide_run"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t675" class="stm mis">    <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_database_tools_py.html b/coverage_html_report/navipy_database_tools_py.html
index c992b21..10b03b3 100644
--- a/coverage_html_report/navipy_database_tools_py.html
+++ b/coverage_html_report/navipy_database_tools_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/database/tools.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/database/tools.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             11 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">11 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -88,7 +75,6 @@
 <p id="n19" class="stm mis"><a href="#n19">19</a></p>
 <p id="n20" class="stm mis"><a href="#n20">20</a></p>
 <p id="n21" class="stm mis"><a href="#n21">21</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -112,20 +98,17 @@
 <p id="t19" class="stm mis">        <span class="key">except</span> <span class="nam">ValueError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t20" class="stm mis">            <span class="key">break</span><span class="strut">&nbsp;</span></p>
 <p id="t21" class="stm mis">        <span class="nam">dbout</span><span class="op">.</span><span class="nam">write_image</span><span class="op">(</span><span class="nam">posorient</span><span class="op">,</span> <span class="nam">image</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_errorprop___init___py.html b/coverage_html_report/navipy_errorprop___init___py.html
index 6047541..e187449 100644
--- a/coverage_html_report/navipy_errorprop___init___py.html
+++ b/coverage_html_report/navipy_errorprop___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/errorprop/__init__.py: 74%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/errorprop/__init__.py</b> :
             <span class="pc_cov">74%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             38 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">28 run</span>
             <span class="mis shortkey_m button_toggle_mis">10 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -153,7 +140,6 @@
 <p id="n84" class="stm run hide_run"><a href="#n84">84</a></p>
 <p id="n85" class="pln"><a href="#n85">85</a></p>
 <p id="n86" class="stm run hide_run"><a href="#n86">86</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -242,20 +228,17 @@
 <p id="t84" class="stm run hide_run">        <span class="key">return</span> <span class="nam">jacobian_matrix</span><span class="op">.</span><span class="nam">dot</span><span class="op">(</span><span class="nam">covar</span><span class="op">.</span><span class="nam">dot</span><span class="op">(</span><span class="nam">jacobian_matrix</span><span class="op">.</span><span class="nam">transpose</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t85" class="pln">    <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t86" class="stm run hide_run">        <span class="key">return</span> <span class="nam">np</span><span class="op">.</span><span class="nam">abs</span><span class="op">(</span><span class="nam">jacobian_matrix</span><span class="op">)</span> <span class="op">*</span> <span class="nam">covar</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_errorprop_test_py.html b/coverage_html_report/navipy_errorprop_test_py.html
index 7c30b1f..728dccc 100644
--- a/coverage_html_report/navipy_errorprop_test_py.html
+++ b/coverage_html_report/navipy_errorprop_test_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/errorprop/test.py: 97%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/errorprop/test.py</b> :
             <span class="pc_cov">97%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             36 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">35 run</span>
             <span class="mis shortkey_m button_toggle_mis">1 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -116,7 +103,6 @@
 <p id="n47" class="pln"><a href="#n47">47</a></p>
 <p id="n48" class="stm run hide_run"><a href="#n48">48</a></p>
 <p id="n49" class="stm mis"><a href="#n49">49</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
@@ -168,20 +154,17 @@
 <p id="t47" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t48" class="stm run hide_run"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t49" class="stm mis">    <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_io___init___py.html b/coverage_html_report/navipy_io___init___py.html
index da0d46b..cdc092f 100644
--- a/coverage_html_report/navipy_io___init___py.html
+++ b/coverage_html_report/navipy_io___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/io/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/io/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,28 +50,23 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
             <td class="linenos">
-
             </td>
             <td class="text">
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_io_ivfile_py.html b/coverage_html_report/navipy_io_ivfile_py.html
index da4da7c..4a5282a 100644
--- a/coverage_html_report/navipy_io_ivfile_py.html
+++ b/coverage_html_report/navipy_io_ivfile_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/io/ivfile.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/io/ivfile.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             146 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">146 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -334,7 +321,6 @@
 <p id="n265" class="pln"><a href="#n265">265</a></p>
 <p id="n266" class="stm mis"><a href="#n266">266</a></p>
 <p id="n267" class="stm mis"><a href="#n267">267</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">import</span> <span class="nam">pandas</span> <span class="key">as</span> <span class="nam">pd</span><span class="strut">&nbsp;</span></p>
@@ -604,20 +590,17 @@
 <p id="t265" class="pln">        <span class="op">&amp;</span> <span class="op">(</span><span class="nam">manhattan_2d</span><span class="op">.</span><span class="nam">y</span> <span class="op">&lt;</span> <span class="nam">corner_th</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t266" class="stm mis">    <span class="nam">manhattan_2d</span><span class="op">.</span><span class="nam">loc</span><span class="op">[</span><span class="nam">topleft_corner</span><span class="op">,</span> <span class="op">:</span><span class="op">]</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">nan</span><span class="strut">&nbsp;</span></p>
 <p id="t267" class="stm mis">    <span class="key">return</span> <span class="nam">manhattan_2d</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_io_opencv_py.html b/coverage_html_report/navipy_io_opencv_py.html
index b8db99e..8fb6912 100644
--- a/coverage_html_report/navipy_io_opencv_py.html
+++ b/coverage_html_report/navipy_io_opencv_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/io/opencv.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/io/opencv.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             55 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">55 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -161,7 +148,6 @@
 <p id="n92" class="stm mis"><a href="#n92">92</a></p>
 <p id="n93" class="stm mis"><a href="#n93">93</a></p>
 <p id="n94" class="stm mis"><a href="#n94">94</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">import</span> <span class="nam">cv2</span><span class="strut">&nbsp;</span></p>
@@ -258,20 +244,17 @@
 <p id="t92" class="stm mis">        <span class="key">for</span> <span class="nam">key</span> <span class="key">in</span> <span class="op">[</span><span class="str">'intrinsic_matrix'</span><span class="op">,</span> <span class="str">'distortion'</span><span class="op">]</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t93" class="stm mis">            <span class="nam">data</span> <span class="op">=</span> <span class="nam">cameras_intrinsics</span><span class="op">[</span><span class="nam">cam_i</span><span class="op">]</span><span class="op">[</span><span class="nam">key</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
 <p id="t94" class="stm mis">            <span class="nam">save</span><span class="op">(</span><span class="nam">filename</span><span class="op">,</span> <span class="nam">key</span> <span class="op">+</span> <span class="str">'_{}'</span><span class="op">.</span><span class="nam">format</span><span class="op">(</span><span class="nam">cam_i</span><span class="op">)</span><span class="op">,</span> <span class="nam">data</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths___init___py.html b/coverage_html_report/navipy_maths___init___py.html
index 9cb78e3..5f1cc3d 100644
--- a/coverage_html_report/navipy_maths___init___py.html
+++ b/coverage_html_report/navipy_maths___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/maths/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,30 +50,25 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
             <td class="linenos">
 <p id="n1" class="pln"><a href="#n1">1</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="com"># package</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_constants_py.html b/coverage_html_report/navipy_maths_constants_py.html
index 7b6d691..f612de0 100644
--- a/coverage_html_report/navipy_maths_constants_py.html
+++ b/coverage_html_report/navipy_maths_constants_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/maths/constants.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/constants.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             4 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">4 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -83,7 +70,6 @@
 <p id="n14" class="pln"><a href="#n14">14</a></p>
 <p id="n15" class="pln"><a href="#n15">15</a></p>
 <p id="n16" class="pln"><a href="#n16">16</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -102,20 +88,17 @@
 <p id="t14" class="pln">    <span class="str">'xzx'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="str">'yzx'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="str">'yzy'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t15" class="pln">    <span class="str">'yxz'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="op">,</span> <span class="str">'yxy'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="op">,</span> <span class="str">'zxy'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t16" class="pln">    <span class="str">'zxz'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="op">,</span> <span class="str">'zyx'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="str">'zyz'</span><span class="op">:</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="num">1</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_coordinates_py.html b/coverage_html_report/navipy_maths_coordinates_py.html
index 3804d70..b875bc9 100644
--- a/coverage_html_report/navipy_maths_coordinates_py.html
+++ b/coverage_html_report/navipy_maths_coordinates_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/maths/coordinates.py: 70%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/coordinates.py</b> :
             <span class="pc_cov">70%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             46 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">32 run</span>
             <span class="mis shortkey_m button_toggle_mis">14 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -170,7 +157,6 @@
 <p id="n101" class="stm run hide_run"><a href="#n101">101</a></p>
 <p id="n102" class="pln"><a href="#n102">102</a></p>
 <p id="n103" class="stm run hide_run"><a href="#n103">103</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -276,20 +262,17 @@
 <p id="t101" class="stm run hide_run">    <span class="nam">sph_y</span> <span class="op">=</span> <span class="op">-</span><span class="nam">SPH_x</span><span class="op">*</span><span class="nam">np</span><span class="op">.</span><span class="nam">sin</span><span class="op">(</span><span class="nam">phi</span><span class="op">)</span> <span class="op">+</span> <span class="nam">SPH_y</span><span class="op">*</span><span class="nam">np</span><span class="op">.</span><span class="nam">cos</span><span class="op">(</span><span class="nam">phi</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t102" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t103" class="stm run hide_run">    <span class="key">return</span> <span class="op">[</span><span class="nam">sph_x</span><span class="op">,</span> <span class="nam">sph_y</span><span class="op">,</span> <span class="nam">sph_z</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_euler_py.html b/coverage_html_report/navipy_maths_euler_py.html
index 1231b02..8be7110 100644
--- a/coverage_html_report/navipy_maths_euler_py.html
+++ b/coverage_html_report/navipy_maths_euler_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
-    <title>Coverage for navipy/maths/euler.py: 91%</title>
+    <title>Coverage for navipy/maths/euler.py: 92%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/euler.py</b> :
-            <span class="pc_cov">91%</span>
+            <span class="pc_cov">92%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             119 statements &nbsp;
-            <span class="run hide_run shortkey_r button_toggle_run">108 run</span>
-            <span class="mis shortkey_m button_toggle_mis">11 missing</span>
+            <span class="run hide_run shortkey_r button_toggle_run">109 run</span>
+            <span class="mis shortkey_m button_toggle_mis">10 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -283,7 +270,7 @@
 <p id="n214" class="stm run hide_run"><a href="#n214">214</a></p>
 <p id="n215" class="stm run hide_run"><a href="#n215">215</a></p>
 <p id="n216" class="stm run hide_run"><a href="#n216">216</a></p>
-<p id="n217" class="stm mis"><a href="#n217">217</a></p>
+<p id="n217" class="stm run hide_run"><a href="#n217">217</a></p>
 <p id="n218" class="stm run hide_run"><a href="#n218">218</a></p>
 <p id="n219" class="stm run hide_run"><a href="#n219">219</a></p>
 <p id="n220" class="pln"><a href="#n220">220</a></p>
@@ -358,7 +345,6 @@
 <p id="n289" class="stm run hide_run"><a href="#n289">289</a></p>
 <p id="n290" class="stm run hide_run"><a href="#n290">290</a></p>
 <p id="n291" class="stm run hide_run"><a href="#n291">291</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">numpy</span> <span class="key">as</span> <span class="nam">np</span><span class="strut">&nbsp;</span></p>
@@ -577,7 +563,7 @@
 <p id="t214" class="stm run hide_run">    <span class="key">if</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">ai</span><span class="op">,</span> <span class="nam">float</span><span class="op">)</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">ai</span><span class="op">,</span> <span class="nam">int</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t215" class="stm run hide_run">        <span class="key">raise</span> <span class="nam">TypeError</span><span class="op">(</span><span class="str">"euler angle must be of type float"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t216" class="stm run hide_run">    <span class="key">if</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">aj</span><span class="op">,</span> <span class="nam">float</span><span class="op">)</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">aj</span><span class="op">,</span> <span class="nam">int</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t217" class="stm mis">        <span class="key">raise</span> <span class="nam">TypeError</span><span class="op">(</span><span class="str">"euler angle must be of type float"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t217" class="stm run hide_run">        <span class="key">raise</span> <span class="nam">TypeError</span><span class="op">(</span><span class="str">"euler angle must be of type float"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t218" class="stm run hide_run">    <span class="key">if</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">ak</span><span class="op">,</span> <span class="nam">float</span><span class="op">)</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">ak</span><span class="op">,</span> <span class="nam">int</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t219" class="stm run hide_run">        <span class="key">raise</span> <span class="nam">TypeError</span><span class="op">(</span><span class="str">"euler angle must be of type float"</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t220" class="pln">    <span class="com"># if np.isnan(np.array([ai], dtype=np.float64)) or\</span><span class="strut">&nbsp;</span></p>
@@ -652,20 +638,17 @@
 <p id="t289" class="stm run hide_run">    <span class="nam">rotM</span> <span class="op">=</span> <span class="nam">angle_rate_matrix</span><span class="op">(</span><span class="nam">ai</span><span class="op">,</span> <span class="nam">aj</span><span class="op">,</span> <span class="nam">ak</span><span class="op">,</span> <span class="nam">axes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t290" class="stm run hide_run">    <span class="nam">vel</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">dot</span><span class="op">(</span><span class="nam">rotM</span><span class="op">,</span> <span class="op">[</span><span class="nam">dai</span><span class="op">,</span> <span class="nam">daj</span><span class="op">,</span> <span class="nam">dak</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t291" class="stm run hide_run">    <span class="key">return</span> <span class="nam">vel</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:08
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_homogeneous_transformations_py.html b/coverage_html_report/navipy_maths_homogeneous_transformations_py.html
index b6438f7..56445a2 100644
--- a/coverage_html_report/navipy_maths_homogeneous_transformations_py.html
+++ b/coverage_html_report/navipy_maths_homogeneous_transformations_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
-    <title>Coverage for navipy/maths/homogeneous_transformations.py: 80%</title>
+    <title>Coverage for navipy/maths/homogeneous_transformations.py: 81%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/homogeneous_transformations.py</b> :
-            <span class="pc_cov">80%</span>
+            <span class="pc_cov">81%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             234 statements &nbsp;
-            <span class="run hide_run shortkey_r button_toggle_run">187 run</span>
-            <span class="mis shortkey_m button_toggle_mis">47 missing</span>
+            <span class="run hide_run shortkey_r button_toggle_run">189 run</span>
+            <span class="mis shortkey_m button_toggle_mis">45 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -381,8 +368,8 @@
 <p id="n312" class="stm run hide_run"><a href="#n312">312</a></p>
 <p id="n313" class="pln"><a href="#n313">313</a></p>
 <p id="n314" class="stm run hide_run"><a href="#n314">314</a></p>
-<p id="n315" class="stm mis"><a href="#n315">315</a></p>
-<p id="n316" class="stm mis"><a href="#n316">316</a></p>
+<p id="n315" class="stm run hide_run"><a href="#n315">315</a></p>
+<p id="n316" class="stm run hide_run"><a href="#n316">316</a></p>
 <p id="n317" class="pln"><a href="#n317">317</a></p>
 <p id="n318" class="stm run hide_run"><a href="#n318">318</a></p>
 <p id="n319" class="stm run hide_run"><a href="#n319">319</a></p>
@@ -451,7 +438,6 @@
 <p id="n382" class="stm run hide_run"><a href="#n382">382</a></p>
 <p id="n383" class="stm run hide_run"><a href="#n383">383</a></p>
 <p id="n384" class="stm run hide_run"><a href="#n384">384</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -768,8 +754,8 @@
 <p id="t312" class="stm run hide_run">    <span class="nam">shear</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span> <span class="op">/=</span> <span class="nam">scale</span><span class="op">[</span><span class="num">2</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
 <p id="t313" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t314" class="stm run hide_run">    <span class="key">if</span> <span class="nam">np</span><span class="op">.</span><span class="nam">dot</span><span class="op">(</span><span class="nam">row</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">,</span> <span class="nam">np</span><span class="op">.</span><span class="nam">cross</span><span class="op">(</span><span class="nam">row</span><span class="op">[</span><span class="num">1</span><span class="op">]</span><span class="op">,</span> <span class="nam">row</span><span class="op">[</span><span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">)</span> <span class="op">&lt;</span> <span class="num">0</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t315" class="stm mis">        <span class="nam">np</span><span class="op">.</span><span class="nam">negative</span><span class="op">(</span><span class="nam">scale</span><span class="op">,</span> <span class="nam">scale</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t316" class="stm mis">        <span class="nam">np</span><span class="op">.</span><span class="nam">negative</span><span class="op">(</span><span class="nam">row</span><span class="op">,</span> <span class="nam">row</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t315" class="stm run hide_run">        <span class="nam">np</span><span class="op">.</span><span class="nam">negative</span><span class="op">(</span><span class="nam">scale</span><span class="op">,</span> <span class="nam">scale</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t316" class="stm run hide_run">        <span class="nam">np</span><span class="op">.</span><span class="nam">negative</span><span class="op">(</span><span class="nam">row</span><span class="op">,</span> <span class="nam">row</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t317" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t318" class="stm run hide_run">    <span class="nam">mat</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">linalg</span><span class="op">.</span><span class="nam">inv</span><span class="op">(</span><span class="nam">row</span><span class="op">[</span><span class="op">:</span><span class="num">3</span><span class="op">,</span> <span class="op">:</span><span class="num">3</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t319" class="stm run hide_run">    <span class="nam">angles</span> <span class="op">=</span> <span class="nam">euler</span><span class="op">.</span><span class="nam">from_matrix</span><span class="op">(</span><span class="nam">mat</span><span class="op">,</span> <span class="nam">axes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
@@ -838,20 +824,17 @@
 <p id="t382" class="stm run hide_run">    <span class="nam">matrix1</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="nam">matrix1</span><span class="op">,</span> <span class="nam">dtype</span><span class="op">=</span><span class="nam">np</span><span class="op">.</span><span class="nam">float64</span><span class="op">,</span> <span class="nam">copy</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t383" class="stm run hide_run">    <span class="nam">matrix1</span> <span class="op">/=</span> <span class="nam">matrix1</span><span class="op">[</span><span class="num">3</span><span class="op">,</span> <span class="num">3</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
 <p id="t384" class="stm run hide_run">    <span class="nam">np</span><span class="op">.</span><span class="nam">testing</span><span class="op">.</span><span class="nam">assert_allclose</span><span class="op">(</span><span class="nam">matrix0</span><span class="op">,</span> <span class="nam">matrix1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_quaternion_py.html b/coverage_html_report/navipy_maths_quaternion_py.html
index 39b9907..ba192ce 100644
--- a/coverage_html_report/navipy_maths_quaternion_py.html
+++ b/coverage_html_report/navipy_maths_quaternion_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
-    <title>Coverage for navipy/maths/quaternion.py: 77%</title>
+    <title>Coverage for navipy/maths/quaternion.py: 81%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/quaternion.py</b> :
-            <span class="pc_cov">77%</span>
+            <span class="pc_cov">81%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             70 statements &nbsp;
-            <span class="run hide_run shortkey_r button_toggle_run">54 run</span>
-            <span class="mis shortkey_m button_toggle_mis">16 missing</span>
+            <span class="run hide_run shortkey_r button_toggle_run">57 run</span>
+            <span class="mis shortkey_m button_toggle_mis">13 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -199,7 +186,7 @@
 <p id="n130" class="pln"><a href="#n130">130</a></p>
 <p id="n131" class="pln"><a href="#n131">131</a></p>
 <p id="n132" class="pln"><a href="#n132">132</a></p>
-<p id="n133" class="stm mis"><a href="#n133">133</a></p>
+<p id="n133" class="stm run hide_run"><a href="#n133">133</a></p>
 <p id="n134" class="pln"><a href="#n134">134</a></p>
 <p id="n135" class="stm mis"><a href="#n135">135</a></p>
 <p id="n136" class="pln"><a href="#n136">136</a></p>
@@ -208,9 +195,9 @@
 <p id="n139" class="pln"><a href="#n139">139</a></p>
 <p id="n140" class="pln"><a href="#n140">140</a></p>
 <p id="n141" class="pln"><a href="#n141">141</a></p>
-<p id="n142" class="stm mis"><a href="#n142">142</a></p>
+<p id="n142" class="stm run hide_run"><a href="#n142">142</a></p>
 <p id="n143" class="pln"><a href="#n143">143</a></p>
-<p id="n144" class="stm mis"><a href="#n144">144</a></p>
+<p id="n144" class="stm run hide_run"><a href="#n144">144</a></p>
 <p id="n145" class="pln"><a href="#n145">145</a></p>
 <p id="n146" class="pln"><a href="#n146">146</a></p>
 <p id="n147" class="pln"><a href="#n147">147</a></p>
@@ -269,7 +256,6 @@
 <p id="n200" class="pln"><a href="#n200">200</a></p>
 <p id="n201" class="stm mis"><a href="#n201">201</a></p>
 <p id="n202" class="stm mis"><a href="#n202">202</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -404,7 +390,7 @@
 <p id="t130" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t131" class="pln">                                   <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
 <p id="t132" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t133" class="stm mis">    <span class="key">if</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">></span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="op">-</span><span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t133" class="stm run hide_run">    <span class="key">if</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">></span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="op">-</span><span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t134" class="pln">        <span class="com"># equation 143</span><span class="strut">&nbsp;</span></p>
 <p id="t135" class="stm mis">        <span class="key">return</span> <span class="op">(</span><span class="num">1</span> <span class="op">/</span> <span class="num">2</span><span class="op">)</span> <span class="op">*</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="op">[</span><span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
 <p id="t136" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
@@ -413,9 +399,9 @@
 <p id="t139" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t140" class="pln">                                   <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
 <p id="t141" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t142" class="stm mis">    <span class="key">if</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="op">-</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t142" class="stm run hide_run">    <span class="key">if</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="op">-</span><span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span><span class="op">)</span> <span class="key">and</span> <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">&lt;</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t143" class="pln">        <span class="com"># equation 144</span><span class="strut">&nbsp;</span></p>
-<p id="t144" class="stm mis">        <span class="key">return</span> <span class="op">(</span><span class="num">1</span> <span class="op">/</span> <span class="num">2</span><span class="op">)</span> <span class="op">*</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="op">[</span><span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
+<p id="t144" class="stm run hide_run">        <span class="key">return</span> <span class="op">(</span><span class="num">1</span> <span class="op">/</span> <span class="num">2</span><span class="op">)</span> <span class="op">*</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="op">[</span><span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
 <p id="t145" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t146" class="pln">                                   <span class="op">(</span><span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span> <span class="op">/</span><span class="strut">&nbsp;</span></p>
 <p id="t147" class="pln">                                   <span class="nam">np</span><span class="op">.</span><span class="nam">sqrt</span><span class="op">(</span><span class="num">1</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">]</span> <span class="op">-</span> <span class="nam">r</span><span class="op">[</span><span class="num">1</span><span class="op">,</span> <span class="num">1</span><span class="op">]</span> <span class="op">+</span> <span class="nam">r</span><span class="op">[</span><span class="num">2</span><span class="op">,</span> <span class="num">2</span><span class="op">]</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
@@ -474,20 +460,17 @@
 <p id="t200" class="pln">    <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t201" class="stm mis">        <span class="nam">axis</span> <span class="op">=</span> <span class="nam">q</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="num">4</span><span class="op">]</span> <span class="op">/</span> <span class="nam">length</span><span class="strut">&nbsp;</span></p>
 <p id="t202" class="stm mis">    <span class="key">return</span> <span class="nam">axis</span><span class="op">,</span> <span class="nam">angle</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-15 12:18
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:08
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_random_py.html b/coverage_html_report/navipy_maths_random_py.html
index 83c9aaf..397960c 100644
--- a/coverage_html_report/navipy_maths_random_py.html
+++ b/coverage_html_report/navipy_maths_random_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/maths/random.py: 96%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/random.py</b> :
             <span class="pc_cov">96%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             26 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">25 run</span>
             <span class="mis shortkey_m button_toggle_mis">1 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -116,7 +103,6 @@
 <p id="n47" class="stm run hide_run"><a href="#n47">47</a></p>
 <p id="n48" class="stm run hide_run"><a href="#n48">48</a></p>
 <p id="n49" class="pln"><a href="#n49">49</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">numpy</span> <span class="key">as</span> <span class="nam">np</span><span class="strut">&nbsp;</span></p>
@@ -168,20 +154,17 @@
 <p id="t47" class="stm run hide_run">    <span class="nam">t2</span> <span class="op">=</span> <span class="nam">pi2</span> <span class="op">*</span> <span class="nam">rand</span><span class="op">[</span><span class="num">2</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
 <p id="t48" class="stm run hide_run">    <span class="key">return</span> <span class="nam">np</span><span class="op">.</span><span class="nam">array</span><span class="op">(</span><span class="op">[</span><span class="nam">np</span><span class="op">.</span><span class="nam">cos</span><span class="op">(</span><span class="nam">t2</span><span class="op">)</span> <span class="op">*</span> <span class="nam">r2</span><span class="op">,</span> <span class="nam">np</span><span class="op">.</span><span class="nam">sin</span><span class="op">(</span><span class="nam">t1</span><span class="op">)</span> <span class="op">*</span> <span class="nam">r1</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t49" class="pln">                     <span class="nam">np</span><span class="op">.</span><span class="nam">cos</span><span class="op">(</span><span class="nam">t1</span><span class="op">)</span> <span class="op">*</span> <span class="nam">r1</span><span class="op">,</span> <span class="nam">np</span><span class="op">.</span><span class="nam">sin</span><span class="op">(</span><span class="nam">t2</span><span class="op">)</span> <span class="op">*</span> <span class="nam">r2</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_maths_tools_py.html b/coverage_html_report/navipy_maths_tools_py.html
index 47489b9..9211d70 100644
--- a/coverage_html_report/navipy_maths_tools_py.html
+++ b/coverage_html_report/navipy_maths_tools_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/maths/tools.py: 59%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/maths/tools.py</b> :
             <span class="pc_cov">59%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             29 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">17 run</span>
             <span class="mis shortkey_m button_toggle_mis">12 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -124,7 +111,6 @@
 <p id="n55" class="stm mis"><a href="#n55">55</a></p>
 <p id="n56" class="stm mis"><a href="#n56">56</a></p>
 <p id="n57" class="stm mis"><a href="#n57">57</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -184,20 +170,17 @@
 <p id="t55" class="stm mis">    <span class="key">for</span> <span class="nam">i</span> <span class="key">in</span> <span class="nam">matrices</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t56" class="stm mis">        <span class="nam">M</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">dot</span><span class="op">(</span><span class="nam">M</span><span class="op">,</span> <span class="nam">i</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t57" class="stm mis">    <span class="key">return</span> <span class="nam">M</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_models___init___py.html b/coverage_html_report/navipy_models___init___py.html
index d56be6c..21273bf 100644
--- a/coverage_html_report/navipy_models___init___py.html
+++ b/coverage_html_report/navipy_models___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/models/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/models/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,28 +50,23 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
             <td class="linenos">
-
             </td>
             <td class="text">
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_models_dewar_2014_py.html b/coverage_html_report/navipy_models_dewar_2014_py.html
index 7759cd1..d575dbc 100644
--- a/coverage_html_report/navipy_models_dewar_2014_py.html
+++ b/coverage_html_report/navipy_models_dewar_2014_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/models/dewar_2014.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/models/dewar_2014.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             34 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">34 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -136,7 +123,6 @@
 <p id="n67" class="stm mis"><a href="#n67">67</a></p>
 <p id="n68" class="stm mis"><a href="#n68">68</a></p>
 <p id="n69" class="stm mis"><a href="#n69">69</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">from</span> <span class="nam">navipy</span> <span class="key">import</span> <span class="nam">Brain</span><span class="strut">&nbsp;</span></p>
@@ -208,20 +194,17 @@
 <p id="t67" class="stm mis">        <span class="nam">velocity</span> <span class="op">=</span> <span class="nam">pd</span><span class="op">.</span><span class="nam">Series</span><span class="op">(</span><span class="nam">data</span><span class="op">=</span><span class="num">0</span><span class="op">,</span> <span class="nam">index</span><span class="op">=</span><span class="nam">pd</span><span class="op">.</span><span class="nam">MultiIndex</span><span class="op">.</span><span class="nam">from_tuples</span><span class="op">(</span><span class="nam">indeces</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t68" class="stm mis">        <span class="nam">velocity</span><span class="op">.</span><span class="nam">loc</span><span class="op">[</span><span class="str">'location'</span><span class="op">]</span> <span class="op">=</span> <span class="nam">homing_vector</span><span class="strut">&nbsp;</span></p>
 <p id="t69" class="stm mis">        <span class="key">return</span> <span class="nam">velocity</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_models_hafner_2000_py.html b/coverage_html_report/navipy_models_hafner_2000_py.html
index 2452035..d7945b9 100644
--- a/coverage_html_report/navipy_models_hafner_2000_py.html
+++ b/coverage_html_report/navipy_models_hafner_2000_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/models/hafner_2000.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/models/hafner_2000.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             29 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">29 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -134,7 +121,6 @@
 <p id="n65" class="stm mis"><a href="#n65">65</a></p>
 <p id="n66" class="stm mis"><a href="#n66">66</a></p>
 <p id="n67" class="stm mis"><a href="#n67">67</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">from</span> <span class="nam">navipy</span> <span class="key">import</span> <span class="nam">Brain</span><span class="strut">&nbsp;</span></p>
@@ -204,20 +190,17 @@
 <p id="t65" class="stm mis">        <span class="nam">velocity</span> <span class="op">=</span> <span class="nam">pd</span><span class="op">.</span><span class="nam">Series</span><span class="op">(</span><span class="nam">data</span><span class="op">=</span><span class="num">0</span><span class="op">,</span> <span class="nam">index</span><span class="op">=</span><span class="nam">pd</span><span class="op">.</span><span class="nam">MultiIndex</span><span class="op">.</span><span class="nam">from_tuples</span><span class="op">(</span><span class="nam">indeces</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t66" class="stm mis">        <span class="nam">velocity</span><span class="op">.</span><span class="nam">loc</span><span class="op">[</span><span class="str">'location'</span><span class="op">]</span> <span class="op">=</span> <span class="nam">homing_vector</span><span class="strut">&nbsp;</span></p>
 <p id="t67" class="stm mis">        <span class="key">return</span> <span class="nam">velocity</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_models_irdf_2003_py.html b/coverage_html_report/navipy_models_irdf_2003_py.html
index 66bffe6..a0fcaf5 100644
--- a/coverage_html_report/navipy_models_irdf_2003_py.html
+++ b/coverage_html_report/navipy_models_irdf_2003_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/models/irdf_2003.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/models/irdf_2003.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             36 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">36 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -146,7 +133,6 @@
 <p id="n77" class="stm mis"><a href="#n77">77</a></p>
 <p id="n78" class="stm mis"><a href="#n78">78</a></p>
 <p id="n79" class="stm mis"><a href="#n79">79</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">from</span> <span class="nam">navipy</span> <span class="key">import</span> <span class="nam">Brain</span><span class="strut">&nbsp;</span></p>
@@ -228,20 +214,17 @@
 <p id="t77" class="stm mis">        <span class="nam">velocity</span> <span class="op">=</span> <span class="nam">pd</span><span class="op">.</span><span class="nam">Series</span><span class="op">(</span><span class="nam">data</span><span class="op">=</span><span class="num">0</span><span class="op">,</span> <span class="nam">index</span><span class="op">=</span><span class="nam">pd</span><span class="op">.</span><span class="nam">MultiIndex</span><span class="op">.</span><span class="nam">from_tuples</span><span class="op">(</span><span class="nam">indeces</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t78" class="stm mis">        <span class="nam">velocity</span><span class="op">.</span><span class="nam">loc</span><span class="op">[</span><span class="str">'location'</span><span class="op">]</span> <span class="op">=</span> <span class="nam">homing_vector</span><span class="strut">&nbsp;</span></p>
 <p id="t79" class="stm mis">        <span class="key">return</span> <span class="nam">velocity</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_moving___init___py.html b/coverage_html_report/navipy_moving___init___py.html
index 02b34fa..4d94ba4 100644
--- a/coverage_html_report/navipy_moving___init___py.html
+++ b/coverage_html_report/navipy_moving___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/moving/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/moving/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -143,7 +130,6 @@
 <p id="n74" class="pln"><a href="#n74">74</a></p>
 <p id="n75" class="pln"><a href="#n75">75</a></p>
 <p id="n76" class="pln"><a href="#n76">76</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -222,20 +208,17 @@
 <p id="t74" class="pln"><span class="str">at each node. To assess the memory size of the graph before \</span><span class="strut">&nbsp;</span></p>
 <p id="t75" class="pln"><span class="str">creating it, one can use the tool agent.tools.assess_graphmemsize.</span><span class="strut">&nbsp;</span></p>
 <p id="t76" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_moving_agent_py.html b/coverage_html_report/navipy_moving_agent_py.html
index ebed02d..96795a7 100644
--- a/coverage_html_report/navipy_moving_agent_py.html
+++ b/coverage_html_report/navipy_moving_agent_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/moving/agent.py: 49%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/moving/agent.py</b> :
             <span class="pc_cov">49%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             312 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">154 run</span>
             <span class="mis shortkey_m button_toggle_mis">158 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -634,7 +621,6 @@
 <p id="n565" class="stm run hide_run"><a href="#n565">565</a></p>
 <p id="n566" class="stm run hide_run"><a href="#n566">566</a></p>
 <p id="n567" class="stm run hide_run"><a href="#n567">567</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -1204,20 +1190,17 @@
 <p id="t565" class="stm run hide_run">        <span class="nam">tmpgraph</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">_graph</span><span class="op">.</span><span class="nam">reverse</span><span class="op">(</span><span class="nam">copy</span><span class="op">=</span><span class="key">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t566" class="stm run hide_run">        <span class="nam">neighbors</span> <span class="op">=</span> <span class="nam">tmpgraph</span><span class="op">.</span><span class="nam">neighbors</span><span class="op">(</span><span class="nam">target</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t567" class="stm run hide_run">        <span class="key">return</span> <span class="nam">neighbors</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_moving_maths_py.html b/coverage_html_report/navipy_moving_maths_py.html
index 28e10a3..d671575 100644
--- a/coverage_html_report/navipy_moving_maths_py.html
+++ b/coverage_html_report/navipy_moving_maths_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/moving/maths.py: 92%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/moving/maths.py</b> :
             <span class="pc_cov">92%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             51 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">47 run</span>
             <span class="mis shortkey_m button_toggle_mis">4 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -187,7 +174,6 @@
 <p id="n118" class="pln"><a href="#n118">118</a></p>
 <p id="n119" class="pln"><a href="#n119">119</a></p>
 <p id="n120" class="stm mis"><a href="#n120">120</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -310,20 +296,17 @@
 <p id="t118" class="pln"><span class="str">    (a pandas dataframe with ['x','y','z'])</span><span class="strut">&nbsp;</span></p>
 <p id="t119" class="pln"><span class="str">    """</span><span class="strut">&nbsp;</span></p>
 <p id="t120" class="stm mis">    <span class="key">raise</span> <span class="nam">NameError</span><span class="op">(</span><span class="str">'Not implemated'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_processing___init___py.html b/coverage_html_report/navipy_processing___init___py.html
index a56920f..cf0c995 100644
--- a/coverage_html_report/navipy_processing___init___py.html
+++ b/coverage_html_report/navipy_processing___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/processing/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/processing/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -89,7 +76,6 @@
 <p id="n20" class="pln"><a href="#n20">20</a></p>
 <p id="n21" class="pln"><a href="#n21">21</a></p>
 <p id="n22" class="pln"><a href="#n22">22</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -114,20 +100,17 @@
 <p id="t20" class="pln"><span class="str">.. autofunction:: navipy.processing.pcode.apcv</span><span class="strut">&nbsp;</span></p>
 <p id="t21" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t22" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_processing_mcode_py.html b/coverage_html_report/navipy_processing_mcode_py.html
index a21be11..87eeacf 100644
--- a/coverage_html_report/navipy_processing_mcode_py.html
+++ b/coverage_html_report/navipy_processing_mcode_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/processing/mcode.py: 63%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/processing/mcode.py</b> :
             <span class="pc_cov">63%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             299 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">187 run</span>
             <span class="mis shortkey_m button_toggle_mis">112 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -650,7 +637,6 @@
 <p id="n581" class="stm mis"><a href="#n581">581</a></p>
 <p id="n582" class="pln"><a href="#n582">582</a></p>
 <p id="n583" class="stm mis"><a href="#n583">583</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -1236,20 +1222,17 @@
 <p id="t581" class="stm mis">                    <span class="nam">self</span><span class="op">.</span><span class="nam">Input</span><span class="op">[</span><span class="nam">i</span><span class="op">,</span> <span class="nam">j</span><span class="op">]</span> <span class="op">=</span> <span class="nam">sig_left1</span><span class="op">/</span><span class="nam">sig_left2</span><span class="strut">&nbsp;</span></p>
 <p id="t582" class="pln">                <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t583" class="stm mis">                    <span class="nam">self</span><span class="op">.</span><span class="nam">Input</span><span class="op">[</span><span class="nam">i</span><span class="op">,</span> <span class="nam">j</span><span class="op">]</span> <span class="op">=</span> <span class="num">0</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_processing_pcode_py.html b/coverage_html_report/navipy_processing_pcode_py.html
index 23a2b17..7576f77 100644
--- a/coverage_html_report/navipy_processing_pcode_py.html
+++ b/coverage_html_report/navipy_processing_pcode_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/processing/pcode.py: 56%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/processing/pcode.py</b> :
             <span class="pc_cov">56%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             140 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">78 run</span>
             <span class="mis shortkey_m button_toggle_mis">62 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -307,7 +294,6 @@
 <p id="n238" class="stm mis"><a href="#n238">238</a></p>
 <p id="n239" class="stm mis"><a href="#n239">239</a></p>
 <p id="n240" class="stm mis"><a href="#n240">240</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -550,20 +536,17 @@
 <p id="t238" class="stm mis">        <span class="nam">svp_reorient</span> <span class="op">=</span> <span class="nam">np</span><span class="op">.</span><span class="nam">roll</span><span class="op">(</span><span class="nam">image</span><span class="op">,</span> <span class="nam">alpha</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t239" class="stm mis">        <span class="nam">reoriented_mem</span><span class="op">.</span><span class="nam">append</span><span class="op">(</span><span class="nam">svp_reorient</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t240" class="stm mis">    <span class="key">return</span> <span class="nam">reoriented_mem</span><span class="op">,</span> <span class="nam">svp_all</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_processing_test_py.html b/coverage_html_report/navipy_processing_test_py.html
index c194d23..4fe3d60 100644
--- a/coverage_html_report/navipy_processing_test_py.html
+++ b/coverage_html_report/navipy_processing_test_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/processing/test.py: 73%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/processing/test.py</b> :
             <span class="pc_cov">73%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             257 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">187 run</span>
             <span class="mis shortkey_m button_toggle_mis">70 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -551,7 +538,6 @@
 <p id="n482" class="pln"><a href="#n482">482</a></p>
 <p id="n483" class="stm run hide_run"><a href="#n483">483</a></p>
 <p id="n484" class="stm mis"><a href="#n484">484</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm run hide_run"><span class="key">import</span> <span class="nam">unittest</span><span class="strut">&nbsp;</span></p>
@@ -1038,20 +1024,17 @@
 <p id="t482" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t483" class="stm run hide_run"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t484" class="stm mis">    <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_scene_py.html b/coverage_html_report/navipy_scene_py.html
index 41b035d..4ba1585 100644
--- a/coverage_html_report/navipy_scene_py.html
+++ b/coverage_html_report/navipy_scene_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/scene.py: 63%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/scene.py</b> :
             <span class="pc_cov">63%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             82 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">52 run</span>
             <span class="mis shortkey_m button_toggle_mis">30 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -241,7 +228,6 @@
 <p id="n172" class="pln"><a href="#n172">172</a></p>
 <p id="n173" class="stm mis"><a href="#n173">173</a></p>
 <p id="n174" class="stm mis"><a href="#n174">174</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -418,20 +404,17 @@
 <p id="t172" class="pln">                <span class="nam">eye_map</span><span class="op">.</span><span class="nam">shape</span><span class="op">[</span><span class="nam">__ibpc_indeces__</span><span class="op">[</span><span class="str">'component'</span><span class="op">]</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t173" class="stm mis">    <span class="nam">ommatidia_map</span> <span class="op">=</span> <span class="nam">eye_map</span><span class="op">.</span><span class="nam">reshape</span><span class="op">(</span><span class="nam">omm_size</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t174" class="stm mis">    <span class="key">return</span> <span class="op">(</span><span class="nam">obs_scene</span><span class="op">,</span> <span class="nam">ommatidia_map</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_scripts___init___py.html b/coverage_html_report/navipy_scripts___init___py.html
index 1535b0e..daaeba0 100644
--- a/coverage_html_report/navipy_scripts___init___py.html
+++ b/coverage_html_report/navipy_scripts___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/scripts/__init__.py: 21%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/scripts/__init__.py</b> :
             <span class="pc_cov">21%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             19 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">4 run</span>
             <span class="mis shortkey_m button_toggle_mis">15 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -102,7 +89,6 @@
 <p id="n33" class="stm mis"><a href="#n33">33</a></p>
 <p id="n34" class="pln"><a href="#n34">34</a></p>
 <p id="n35" class="stm mis"><a href="#n35">35</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -140,20 +126,17 @@
 <p id="t33" class="stm mis">        <span class="key">return</span> <span class="nam">logging</span><span class="op">.</span><span class="nam">DEBUG</span><span class="op">,</span> <span class="nam">logfile</span><span class="strut">&nbsp;</span></p>
 <p id="t34" class="pln">    <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t35" class="stm mis">        <span class="key">return</span> <span class="nam">logging</span><span class="op">.</span><span class="nam">ERROR</span><span class="op">,</span> <span class="nam">logfile</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_scripts_check_blender_versions_py.html b/coverage_html_report/navipy_scripts_check_blender_versions_py.html
index 10eb9e5..5b41510 100644
--- a/coverage_html_report/navipy_scripts_check_blender_versions_py.html
+++ b/coverage_html_report/navipy_scripts_check_blender_versions_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/scripts/check_blender_versions.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/scripts/check_blender_versions.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             29 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">29 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -116,7 +103,6 @@
 <p id="n47" class="stm mis"><a href="#n47">47</a></p>
 <p id="n48" class="stm mis"><a href="#n48">48</a></p>
 <p id="n49" class="stm mis"><a href="#n49">49</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">from</span> <span class="nam">platform</span> <span class="key">import</span> <span class="nam">python_version</span><span class="strut">&nbsp;</span></p>
@@ -168,20 +154,17 @@
 <p id="t47" class="stm mis"><span class="nam">print</span><span class="op">(</span><span class="str">'\t activate myblendnavipy'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t48" class="stm mis"><span class="nam">print</span><span class="op">(</span><span class="str">'\t conda install --yes --file {}'</span><span class="op">.</span><span class="nam">format</span><span class="op">(</span><span class="nam">pathreq</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t49" class="stm mis"><span class="nam">print</span><span class="op">(</span><span class="str">'\t conda install navipy'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_scripts_config_matplotlib_server_py.html b/coverage_html_report/navipy_scripts_config_matplotlib_server_py.html
index ac5121b..61fc9f0 100644
--- a/coverage_html_report/navipy_scripts_config_matplotlib_server_py.html
+++ b/coverage_html_report/navipy_scripts_config_matplotlib_server_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/scripts/config_matplotlib_server.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/scripts/config_matplotlib_server.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             10 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">10 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -78,7 +65,6 @@
 <p id="n9" class="stm mis"><a href="#n9">9</a></p>
 <p id="n10" class="stm mis"><a href="#n10">10</a></p>
 <p id="n11" class="stm mis"><a href="#n11">11</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="com">#!/usr/bin/env python3</span><span class="strut">&nbsp;</span></p>
@@ -92,20 +78,17 @@
 <p id="t9" class="stm mis"><span class="key">with</span> <span class="nam">fileinput</span><span class="op">.</span><span class="nam">FileInput</span><span class="op">(</span><span class="nam">filename</span><span class="op">,</span> <span class="nam">inplace</span><span class="op">=</span><span class="key">True</span><span class="op">,</span> <span class="nam">backup</span><span class="op">=</span><span class="str">'.bak'</span><span class="op">)</span> <span class="key">as</span> <span class="nam">file</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t10" class="stm mis">    <span class="key">for</span> <span class="nam">line</span> <span class="key">in</span> <span class="nam">file</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t11" class="stm mis">        <span class="nam">print</span><span class="op">(</span><span class="nam">line</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">text_to_search</span><span class="op">,</span> <span class="nam">replacement_text</span><span class="op">)</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">''</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_scripts_dlt_calibrator_py.html b/coverage_html_report/navipy_scripts_dlt_calibrator_py.html
index ec1019c..af66a04 100644
--- a/coverage_html_report/navipy_scripts_dlt_calibrator_py.html
+++ b/coverage_html_report/navipy_scripts_dlt_calibrator_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/scripts/dlt_calibrator.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/scripts/dlt_calibrator.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             118 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">118 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -251,7 +238,6 @@
 <p id="n182" class="stm mis"><a href="#n182">182</a></p>
 <p id="n183" class="pln"><a href="#n183">183</a></p>
 <p id="n184" class="stm mis"><a href="#n184">184</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="stm mis"><span class="key">import</span> <span class="nam">argparse</span><span class="strut">&nbsp;</span></p>
@@ -438,20 +424,17 @@
 <p id="t182" class="stm mis"><span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">"__main__"</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t183" class="pln">    <span class="com"># execute only if run as a script</span><span class="strut">&nbsp;</span></p>
 <p id="t184" class="stm mis">    <span class="nam">main</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_sensors___init___py.html b/coverage_html_report/navipy_sensors___init___py.html
index 106b3be..561d95e 100644
--- a/coverage_html_report/navipy_sensors___init___py.html
+++ b/coverage_html_report/navipy_sensors___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/sensors/__init__.py: 100%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/sensors/__init__.py</b> :
             <span class="pc_cov">100%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             0 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">0 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,28 +50,23 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
             <td class="linenos">
-
             </td>
             <td class="text">
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_sensors_renderer_py.html b/coverage_html_report/navipy_sensors_renderer_py.html
index db15614..8ffad77 100644
--- a/coverage_html_report/navipy_sensors_renderer_py.html
+++ b/coverage_html_report/navipy_sensors_renderer_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/sensors/renderer.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/sensors/renderer.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             350 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">350 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -728,7 +715,6 @@
 <p id="n659" class="stm mis"><a href="#n659">659</a></p>
 <p id="n660" class="stm mis"><a href="#n660">660</a></p>
 <p id="n661" class="stm mis"><a href="#n661">661</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -1392,20 +1378,17 @@
 <p id="t659" class="stm mis">            <span class="nam">warnings</span><span class="op">.</span><span class="nam">warn</span><span class="op">(</span><span class="str">'{} Inf found in image'</span><span class="op">.</span><span class="nam">format</span><span class="op">(</span><span class="nam">ninffound</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t660" class="stm mis">        <span class="nam">self</span><span class="op">.</span><span class="nam">_logger</span><span class="op">.</span><span class="nam">info</span><span class="op">(</span><span class="str">'Scene -> Ok'</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t661" class="stm mis">        <span class="key">return</span> <span class="nam">toreturn</span><span class="op">[</span><span class="op">...</span><span class="op">,</span> <span class="nam">np</span><span class="op">.</span><span class="nam">newaxis</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_tools___init___py.html b/coverage_html_report/navipy_tools___init___py.html
index 5ac8a72..c230211 100644
--- a/coverage_html_report/navipy_tools___init___py.html
+++ b/coverage_html_report/navipy_tools___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/tools/__init__.py: 13%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/tools/__init__.py</b> :
             <span class="pc_cov">13%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             31 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">4 run</span>
             <span class="mis shortkey_m button_toggle_mis">27 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -138,7 +125,6 @@
 <p id="n69" class="pln"><a href="#n69">69</a></p>
 <p id="n70" class="stm run hide_run"><a href="#n70">70</a></p>
 <p id="n71" class="stm mis"><a href="#n71">71</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -212,20 +198,17 @@
 <p id="t69" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t70" class="stm run hide_run"><span class="key">def</span> <span class="nam">extract_block_nonans</span><span class="op">(</span><span class="nam">data</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
 <p id="t71" class="stm mis">    <span class="key">return</span> <span class="nam">extract_block</span><span class="op">(</span><span class="nam">data</span><span class="op">.</span><span class="nam">isnull</span><span class="op">(</span><span class="op">)</span> <span class="op">==</span> <span class="num">0</span><span class="op">,</span> <span class="nam">thresholds</span><span class="op">=</span><span class="op">[</span><span class="num">0.4</span><span class="op">,</span> <span class="num">0.5</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_tools_plots_py.html b/coverage_html_report/navipy_tools_plots_py.html
index 8db396c..ad8c6b8 100644
--- a/coverage_html_report/navipy_tools_plots_py.html
+++ b/coverage_html_report/navipy_tools_plots_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/tools/plots.py: 24%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/tools/plots.py</b> :
             <span class="pc_cov">24%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             46 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">11 run</span>
             <span class="mis shortkey_m button_toggle_mis">35 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -196,7 +183,6 @@
 <p id="n127" class="pln"><a href="#n127">127</a></p>
 <p id="n128" class="pln"><a href="#n128">128</a></p>
 <p id="n129" class="stm mis"><a href="#n129">129</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -328,20 +314,17 @@
 <p id="t127" class="pln">                    <span class="nam">arrowstyle</span><span class="op">=</span><span class="nam">arrowstyle</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t128" class="pln">                    <span class="nam">color</span><span class="op">=</span><span class="nam">color</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t129" class="stm mis">        <span class="nam">ax</span><span class="op">.</span><span class="nam">add_artist</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_trajectories___init___py.html b/coverage_html_report/navipy_trajectories___init___py.html
index fffd5d1..004f2ef 100644
--- a/coverage_html_report/navipy_trajectories___init___py.html
+++ b/coverage_html_report/navipy_trajectories___init___py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/trajectories/__init__.py: 34%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/trajectories/__init__.py</b> :
             <span class="pc_cov">34%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             511 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">172 run</span>
             <span class="mis shortkey_m button_toggle_mis">339 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -988,7 +975,6 @@
 <p id="n919" class="pln"><a href="#n919">919</a></p>
 <p id="n920" class="pln"><a href="#n920">920</a></p>
 <p id="n921" class="stm mis"><a href="#n921">921</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -1912,20 +1898,17 @@
 <p id="t919" class="pln">                            <span class="nam">marker</span><span class="op">=</span><span class="nam">lollipop_marker</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t920" class="pln">                            <span class="nam">markersize</span><span class="op">=</span><span class="nam">lollipop_head_size</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t921" class="stm mis">        <span class="nam">print</span><span class="op">(</span><span class="nam">time</span><span class="op">.</span><span class="nam">time</span><span class="op">(</span><span class="op">)</span> <span class="op">-</span> <span class="nam">t_start</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_trajectories_random_py.html b/coverage_html_report/navipy_trajectories_random_py.html
index 3b3a1c0..f8be90b 100644
--- a/coverage_html_report/navipy_trajectories_random_py.html
+++ b/coverage_html_report/navipy_trajectories_random_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/trajectories/random.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/trajectories/random.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             71 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">71 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -286,7 +273,6 @@
 <p id="n217" class="stm mis"><a href="#n217">217</a></p>
 <p id="n218" class="pln"><a href="#n218">218</a></p>
 <p id="n219" class="stm mis"><a href="#n219">219</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -508,20 +494,17 @@
 <p id="t217" class="stm mis">    <span class="nam">trajectory</span> <span class="op">=</span> <span class="nam">generate_trajectory</span><span class="op">(</span><span class="nam">starting_point</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
 <p id="t218" class="pln">                                     <span class="nam">speed</span><span class="op">,</span> <span class="nam">yaw</span><span class="op">,</span> <span class="nam">pitch</span><span class="op">,</span> <span class="nam">roll</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t219" class="stm mis">    <span class="key">return</span> <span class="nam">trajectory</span><span class="op">,</span> <span class="nam">saccade_df</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_trajectories_tools_py.html b/coverage_html_report/navipy_trajectories_tools_py.html
index d2a5c66..c465083 100644
--- a/coverage_html_report/navipy_trajectories_tools_py.html
+++ b/coverage_html_report/navipy_trajectories_tools_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/trajectories/tools.py: 0%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/trajectories/tools.py</b> :
             <span class="pc_cov">0%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             85 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">0 run</span>
             <span class="mis shortkey_m button_toggle_mis">85 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -224,7 +211,6 @@
 <p id="n155" class="stm mis"><a href="#n155">155</a></p>
 <p id="n156" class="pln"><a href="#n156">156</a></p>
 <p id="n157" class="stm mis"><a href="#n157">157</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -384,20 +370,17 @@
 <p id="t155" class="stm mis">            <span class="nam">intersac_number</span> <span class="op">+=</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
 <p id="t156" class="pln"><span class="strut">&nbsp;</span></p>
 <p id="t157" class="stm mis">    <span class="key">return</span> <span class="nam">saccade_intersaccde</span><span class="op">,</span> <span class="nam">angvel</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_trajectories_transformations_py.html b/coverage_html_report/navipy_trajectories_transformations_py.html
index f94ced7..3c5b93c 100644
--- a/coverage_html_report/navipy_trajectories_transformations_py.html
+++ b/coverage_html_report/navipy_trajectories_transformations_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/trajectories/transformations.py: 85%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/trajectories/transformations.py</b> :
             <span class="pc_cov">85%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             183 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">156 run</span>
             <span class="mis shortkey_m button_toggle_mis">27 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -398,7 +385,6 @@
 <p id="n329" class="pln"><a href="#n329">329</a></p>
 <p id="n330" class="stm run hide_run"><a href="#n330">330</a></p>
 <p id="n331" class="stm run hide_run"><a href="#n331">331</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -732,20 +718,17 @@
 <p id="t329" class="pln">        <span class="nam">angles</span><span class="op">=</span><span class="nam">angles</span><span class="op">,</span> <span class="nam">axes</span><span class="op">=</span><span class="nam">axes_convention</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t330" class="stm run hide_run">    <span class="nam">_</span><span class="op">,</span> <span class="nam">_</span><span class="op">,</span> <span class="nam">angles</span><span class="op">,</span> <span class="nam">_</span><span class="op">,</span> <span class="nam">_</span> <span class="op">=</span> <span class="nam">ht</span><span class="op">.</span><span class="nam">decompose_matrix</span><span class="op">(</span><span class="nam">matrix</span><span class="op">,</span> <span class="nam">axes</span><span class="op">=</span><span class="nam">euler_axes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t331" class="stm run hide_run">    <span class="key">return</span> <span class="nam">angles</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/navipy_trajectories_triangle_py.html b/coverage_html_report/navipy_trajectories_triangle_py.html
index 3dcef15..a20af92 100644
--- a/coverage_html_report/navipy_trajectories_triangle_py.html
+++ b/coverage_html_report/navipy_trajectories_triangle_py.html
@@ -1,16 +1,10 @@
-
-
-
 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    
-    
     <meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
     <title>Coverage for navipy/trajectories/triangle.py: 63%</title>
     <link rel="stylesheet" href="style.css" type="text/css">
-    
     <script type="text/javascript" src="jquery.min.js"></script>
     <script type="text/javascript" src="jquery.hotkeys.js"></script>
     <script type="text/javascript" src="jquery.isonscreen.js"></script>
@@ -20,26 +14,20 @@
     </script>
 </head>
 <body class="pyfile">
-
 <div id="header">
     <div class="content">
         <h1>Coverage for <b>navipy/trajectories/triangle.py</b> :
             <span class="pc_cov">63%</span>
         </h1>
-
         <img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
-
         <h2 class="stats">
             106 statements &nbsp;
             <span class="run hide_run shortkey_r button_toggle_run">67 run</span>
             <span class="mis shortkey_m button_toggle_mis">39 missing</span>
             <span class="exc shortkey_x button_toggle_exc">0 excluded</span>
-
-            
         </h2>
     </div>
 </div>
-
 <div class="help_panel">
     <img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
     <p class="legend">Hot-keys on this page</p>
@@ -62,7 +50,6 @@
     </p>
     </div>
 </div>
-
 <div id="source">
     <table>
         <tr>
@@ -246,7 +233,6 @@
 <p id="n177" class="stm mis"><a href="#n177">177</a></p>
 <p id="n178" class="stm mis"><a href="#n178">178</a></p>
 <p id="n179" class="stm mis"><a href="#n179">179</a></p>
-
             </td>
             <td class="text">
 <p id="t1" class="pln"><span class="str">"""</span><span class="strut">&nbsp;</span></p>
@@ -428,20 +414,17 @@
 <p id="t177" class="stm mis">        <span class="nam">ax</span><span class="op">.</span><span class="nam">set_xlim</span><span class="op">(</span><span class="nam">xlim</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t178" class="stm mis">        <span class="nam">ax</span><span class="op">.</span><span class="nam">set_ylim</span><span class="op">(</span><span class="nam">ylim</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
 <p id="t179" class="stm mis">        <span class="nam">ax</span><span class="op">.</span><span class="nam">set_zlim</span><span class="op">(</span><span class="nam">zlim</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-
             </td>
         </tr>
     </table>
 </div>
-
 <div id="footer">
     <div class="content">
         <p>
-            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io">coverage.py v4.5.2</a>,
-            created at 2019-01-13 14:34
+            <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.io/en/coverage-5.0a4">coverage.py v5.0a4</a>,
+            created at 2019-01-16 13:04
         </p>
     </div>
 </div>
-
 </body>
 </html>
diff --git a/coverage_html_report/status.json b/coverage_html_report/status.json
index a94a743..fef724e 100644
--- a/coverage_html_report/status.json
+++ b/coverage_html_report/status.json
@@ -1 +1 @@
-{"format":1,"version":"4.5.2","settings":"ce06da1d6a3b75aa1a356fae2240f38d","files":{"navipy___init___py":{"hash":"92f6a0787f0a220703ec220fd38620bf","index":{"nums":[1,34,0,7,0,0,0],"html_filename":"navipy___init___py.html","relative_filename":"navipy/__init__.py"}},"navipy_arenatools___init___py":{"hash":"182b2dca469bf063cbcf996d517b03da","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_arenatools___init___py.html","relative_filename":"navipy/arenatools/__init__.py"}},"navipy_arenatools_cam_calib_py":{"hash":"7ebe09b0eff7ac14e9d32f03d5a1cc64","index":{"nums":[1,82,0,82,0,0,0],"html_filename":"navipy_arenatools_cam_calib_py.html","relative_filename":"navipy/arenatools/cam_calib.py"}},"navipy_arenatools_cam_dlt_py":{"hash":"58b5902013f6894b04b93feefa30ff74","index":{"nums":[1,165,0,165,0,0,0],"html_filename":"navipy_arenatools_cam_dlt_py.html","relative_filename":"navipy/arenatools/cam_dlt.py"}},"navipy_arenatools_patterns_py":{"hash":"6082c26008dbc1c5de799e113e40905e","index":{"nums":[1,34,0,34,0,0,0],"html_filename":"navipy_arenatools_patterns_py.html","relative_filename":"navipy/arenatools/patterns.py"}},"navipy_arenatools_triangulate_py":{"hash":"39f255d1e40adad134ad68097fea1e41","index":{"nums":[1,106,0,106,0,0,0],"html_filename":"navipy_arenatools_triangulate_py.html","relative_filename":"navipy/arenatools/triangulate.py"}},"navipy_comparing___init___py":{"hash":"bd6dbca18def2121191799069cad2869","index":{"nums":[1,82,0,29,0,0,0],"html_filename":"navipy_comparing___init___py.html","relative_filename":"navipy/comparing/__init__.py"}},"navipy_comparing_test_py":{"hash":"575e4349255a485ea57d1b02f2942cfb","index":{"nums":[1,178,0,1,0,0,0],"html_filename":"navipy_comparing_test_py.html","relative_filename":"navipy/comparing/test.py"}},"navipy_database___init___py":{"hash":"3f641142e98ffe20393af5d9ab7af49b","index":{"nums":[1,558,0,175,0,0,0],"html_filename":"navipy_database___init___py.html","relative_filename":"navipy/database/__init__.py"}},"navipy_database_test_py":{"hash":"20c84565c434f3e4aad07b1523cdca81","index":{"nums":[1,384,0,167,0,0,0],"html_filename":"navipy_database_test_py.html","relative_filename":"navipy/database/test.py"}},"navipy_database_tools_py":{"hash":"a3aa45ada6d6b635bf19344e46fb15b7","index":{"nums":[1,11,0,11,0,0,0],"html_filename":"navipy_database_tools_py.html","relative_filename":"navipy/database/tools.py"}},"navipy_errorprop___init___py":{"hash":"18f906fa7a54203f64b5606c86270cb9","index":{"nums":[1,38,0,10,0,0,0],"html_filename":"navipy_errorprop___init___py.html","relative_filename":"navipy/errorprop/__init__.py"}},"navipy_errorprop_test_py":{"hash":"3ed9c5757087c7b57e95c3763f18de59","index":{"nums":[1,36,0,1,0,0,0],"html_filename":"navipy_errorprop_test_py.html","relative_filename":"navipy/errorprop/test.py"}},"navipy_io___init___py":{"hash":"4911cff48f6b9e153df4c1a3ecaded19","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_io___init___py.html","relative_filename":"navipy/io/__init__.py"}},"navipy_io_ivfile_py":{"hash":"a89cd7d4f2f60fa2c421ca0ce08594c1","index":{"nums":[1,146,0,146,0,0,0],"html_filename":"navipy_io_ivfile_py.html","relative_filename":"navipy/io/ivfile.py"}},"navipy_io_opencv_py":{"hash":"dd7643ca507286f0dae1cbe424237251","index":{"nums":[1,55,0,55,0,0,0],"html_filename":"navipy_io_opencv_py.html","relative_filename":"navipy/io/opencv.py"}},"navipy_maths___init___py":{"hash":"1d2aeab13253ef7dd6e5d82b2bf29fc2","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_maths___init___py.html","relative_filename":"navipy/maths/__init__.py"}},"navipy_maths_constants_py":{"hash":"6b869917feb17c9a57f93d874cc8805f","index":{"nums":[1,4,0,0,0,0,0],"html_filename":"navipy_maths_constants_py.html","relative_filename":"navipy/maths/constants.py"}},"navipy_maths_coordinates_py":{"hash":"cbcc234db63e8e2a68f82c71b1ed1645","index":{"nums":[1,46,0,14,0,0,0],"html_filename":"navipy_maths_coordinates_py.html","relative_filename":"navipy/maths/coordinates.py"}},"navipy_maths_euler_py":{"hash":"9b749100d044b07b6957ef51664a81df","index":{"nums":[1,119,0,11,0,0,0],"html_filename":"navipy_maths_euler_py.html","relative_filename":"navipy/maths/euler.py"}},"navipy_maths_homogeneous_transformations_py":{"hash":"f26330026f0666102558c539585b215f","index":{"nums":[1,234,0,47,0,0,0],"html_filename":"navipy_maths_homogeneous_transformations_py.html","relative_filename":"navipy/maths/homogeneous_transformations.py"}},"navipy_maths_quaternion_py":{"hash":"e213dd24431ff438507c6692b8a9fcf9","index":{"nums":[1,70,0,16,0,0,0],"html_filename":"navipy_maths_quaternion_py.html","relative_filename":"navipy/maths/quaternion.py"}},"navipy_maths_random_py":{"hash":"54a0cd039994ee6e0cde6ba32160eb16","index":{"nums":[1,26,0,1,0,0,0],"html_filename":"navipy_maths_random_py.html","relative_filename":"navipy/maths/random.py"}},"navipy_maths_tools_py":{"hash":"3c351b7b418dbae1f0b3901b5c2936aa","index":{"nums":[1,29,0,12,0,0,0],"html_filename":"navipy_maths_tools_py.html","relative_filename":"navipy/maths/tools.py"}},"navipy_models___init___py":{"hash":"182b2dca469bf063cbcf996d517b03da","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_models___init___py.html","relative_filename":"navipy/models/__init__.py"}},"navipy_models_dewar_2014_py":{"hash":"010afc22aa394b56b2070bf7d98a88be","index":{"nums":[1,34,0,34,0,0,0],"html_filename":"navipy_models_dewar_2014_py.html","relative_filename":"navipy/models/dewar_2014.py"}},"navipy_models_hafner_2000_py":{"hash":"7581811d93e051d60a5ff46d6fb48454","index":{"nums":[1,29,0,29,0,0,0],"html_filename":"navipy_models_hafner_2000_py.html","relative_filename":"navipy/models/hafner_2000.py"}},"navipy_models_irdf_2003_py":{"hash":"19aeedcf2588b064455087a3e5cd7723","index":{"nums":[1,36,0,36,0,0,0],"html_filename":"navipy_models_irdf_2003_py.html","relative_filename":"navipy/models/irdf_2003.py"}},"navipy_moving___init___py":{"hash":"78c6a24f691a94fe102af42ca5de10e3","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_moving___init___py.html","relative_filename":"navipy/moving/__init__.py"}},"navipy_moving_agent_py":{"hash":"9a3cea13b667a55037134795ec4a625e","index":{"nums":[1,312,0,158,0,0,0],"html_filename":"navipy_moving_agent_py.html","relative_filename":"navipy/moving/agent.py"}},"navipy_moving_maths_py":{"hash":"cb1f1577604209cfb870de97448e3d17","index":{"nums":[1,51,0,4,0,0,0],"html_filename":"navipy_moving_maths_py.html","relative_filename":"navipy/moving/maths.py"}},"navipy_processing___init___py":{"hash":"0ad71b2bf79164a7afaef93d6bcfcd96","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_processing___init___py.html","relative_filename":"navipy/processing/__init__.py"}},"navipy_processing_mcode_py":{"hash":"48d72bb042c0106387fbdcbd712ac322","index":{"nums":[1,299,0,112,0,0,0],"html_filename":"navipy_processing_mcode_py.html","relative_filename":"navipy/processing/mcode.py"}},"navipy_processing_pcode_py":{"hash":"640f47738e855a96554b47ce7136a14d","index":{"nums":[1,140,0,62,0,0,0],"html_filename":"navipy_processing_pcode_py.html","relative_filename":"navipy/processing/pcode.py"}},"navipy_processing_test_py":{"hash":"0d30f9dde9ff5c8cbd982ef8f40c02b2","index":{"nums":[1,257,0,70,0,0,0],"html_filename":"navipy_processing_test_py.html","relative_filename":"navipy/processing/test.py"}},"navipy_scene_py":{"hash":"fe6191bff817bfb448bbcf6e58ce557e","index":{"nums":[1,82,0,30,0,0,0],"html_filename":"navipy_scene_py.html","relative_filename":"navipy/scene.py"}},"navipy_scripts___init___py":{"hash":"26452ada7155f01858826d6360c131bb","index":{"nums":[1,19,0,15,0,0,0],"html_filename":"navipy_scripts___init___py.html","relative_filename":"navipy/scripts/__init__.py"}},"navipy_scripts_check_blender_versions_py":{"hash":"0c070852504b9e6673299ef6557eeb4e","index":{"nums":[1,29,0,29,0,0,0],"html_filename":"navipy_scripts_check_blender_versions_py.html","relative_filename":"navipy/scripts/check_blender_versions.py"}},"navipy_scripts_config_matplotlib_server_py":{"hash":"1e3e126628c8d54ce2233fcd12064434","index":{"nums":[1,10,0,10,0,0,0],"html_filename":"navipy_scripts_config_matplotlib_server_py.html","relative_filename":"navipy/scripts/config_matplotlib_server.py"}},"navipy_scripts_dlt_calibrator_py":{"hash":"31a975f026d406e5ab4077242a90d073","index":{"nums":[1,118,0,118,0,0,0],"html_filename":"navipy_scripts_dlt_calibrator_py.html","relative_filename":"navipy/scripts/dlt_calibrator.py"}},"navipy_sensors___init___py":{"hash":"182b2dca469bf063cbcf996d517b03da","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_sensors___init___py.html","relative_filename":"navipy/sensors/__init__.py"}},"navipy_sensors_renderer_py":{"hash":"02e87ca859dfbb81a436978e6e73eb05","index":{"nums":[1,350,0,350,0,0,0],"html_filename":"navipy_sensors_renderer_py.html","relative_filename":"navipy/sensors/renderer.py"}},"navipy_tools___init___py":{"hash":"ffde4cce20dcea93ff1a80755aeae8b1","index":{"nums":[1,31,0,27,0,0,0],"html_filename":"navipy_tools___init___py.html","relative_filename":"navipy/tools/__init__.py"}},"navipy_tools_plots_py":{"hash":"252c0446722d9236b69b0046880db5d1","index":{"nums":[1,46,0,35,0,0,0],"html_filename":"navipy_tools_plots_py.html","relative_filename":"navipy/tools/plots.py"}},"navipy_trajectories___init___py":{"hash":"a3bf0397eb4fafbc3afc9705a9c2e063","index":{"nums":[1,511,0,339,0,0,0],"html_filename":"navipy_trajectories___init___py.html","relative_filename":"navipy/trajectories/__init__.py"}},"navipy_trajectories_random_py":{"hash":"f63dbf67163bc19527e6d6b784b2f860","index":{"nums":[1,71,0,71,0,0,0],"html_filename":"navipy_trajectories_random_py.html","relative_filename":"navipy/trajectories/random.py"}},"navipy_trajectories_tools_py":{"hash":"742a30526c7d1a6d8a5cd54e20abf2ca","index":{"nums":[1,85,0,85,0,0,0],"html_filename":"navipy_trajectories_tools_py.html","relative_filename":"navipy/trajectories/tools.py"}},"navipy_trajectories_transformations_py":{"hash":"aa2e4a8902046de85c538d8c8f4a71d8","index":{"nums":[1,183,0,27,0,0,0],"html_filename":"navipy_trajectories_transformations_py.html","relative_filename":"navipy/trajectories/transformations.py"}},"navipy_trajectories_triangle_py":{"hash":"4bebab84d9627cf44c3f1aec17858974","index":{"nums":[1,106,0,39,0,0,0],"html_filename":"navipy_trajectories_triangle_py.html","relative_filename":"navipy/trajectories/triangle.py"}}}}
\ No newline at end of file
+{"format":1,"version":"5.0a4","settings":"ab68c2863c6bbdc56034a8f0e241f77f","files":{"navipy___init___py":{"hash":"8c14fa10c6d16f8a4209629ca608ba77","index":{"nums":[1,34,0,7,0,0,0],"html_filename":"navipy___init___py.html","relative_filename":"navipy/__init__.py"}},"navipy_arenatools___init___py":{"hash":"af9d0d0de0ea3b71d198bc63f1499a7d","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_arenatools___init___py.html","relative_filename":"navipy/arenatools/__init__.py"}},"navipy_arenatools_cam_calib_py":{"hash":"c48f09397f8674ed81eda0ea65c0c187","index":{"nums":[1,82,0,82,0,0,0],"html_filename":"navipy_arenatools_cam_calib_py.html","relative_filename":"navipy/arenatools/cam_calib.py"}},"navipy_arenatools_cam_dlt_py":{"hash":"70c8265cc15acb3fbb587e0a62d2a108","index":{"nums":[1,165,0,165,0,0,0],"html_filename":"navipy_arenatools_cam_dlt_py.html","relative_filename":"navipy/arenatools/cam_dlt.py"}},"navipy_arenatools_patterns_py":{"hash":"4e1d81fdc35f1198d93275253f819306","index":{"nums":[1,34,0,34,0,0,0],"html_filename":"navipy_arenatools_patterns_py.html","relative_filename":"navipy/arenatools/patterns.py"}},"navipy_arenatools_triangulate_py":{"hash":"781dcfc0ffe4cf832c02df0009f85e5e","index":{"nums":[1,106,0,106,0,0,0],"html_filename":"navipy_arenatools_triangulate_py.html","relative_filename":"navipy/arenatools/triangulate.py"}},"navipy_comparing___init___py":{"hash":"bab64c8b034da4e478f6230278cb5b0b","index":{"nums":[1,82,0,29,0,0,0],"html_filename":"navipy_comparing___init___py.html","relative_filename":"navipy/comparing/__init__.py"}},"navipy_comparing_test_py":{"hash":"99c16ed3f3487fefa03d57e6b51befde","index":{"nums":[1,178,0,1,0,0,0],"html_filename":"navipy_comparing_test_py.html","relative_filename":"navipy/comparing/test.py"}},"navipy_database___init___py":{"hash":"723ad5e46e93581c76cfe39fed89973d","index":{"nums":[1,558,0,175,0,0,0],"html_filename":"navipy_database___init___py.html","relative_filename":"navipy/database/__init__.py"}},"navipy_database_test_py":{"hash":"944e015fe4e8c684495280e35864511d","index":{"nums":[1,384,0,167,0,0,0],"html_filename":"navipy_database_test_py.html","relative_filename":"navipy/database/test.py"}},"navipy_database_tools_py":{"hash":"19b1cf8ccaffeb5a7c403237d45abcf6","index":{"nums":[1,11,0,11,0,0,0],"html_filename":"navipy_database_tools_py.html","relative_filename":"navipy/database/tools.py"}},"navipy_errorprop___init___py":{"hash":"11072b4f1a377c631852c86dac07bff4","index":{"nums":[1,38,0,10,0,0,0],"html_filename":"navipy_errorprop___init___py.html","relative_filename":"navipy/errorprop/__init__.py"}},"navipy_errorprop_test_py":{"hash":"bdf4a938e6a558877c2281551aed143e","index":{"nums":[1,36,0,1,0,0,0],"html_filename":"navipy_errorprop_test_py.html","relative_filename":"navipy/errorprop/test.py"}},"navipy_io___init___py":{"hash":"8f59a7e9210db62370cd600c1c607645","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_io___init___py.html","relative_filename":"navipy/io/__init__.py"}},"navipy_io_ivfile_py":{"hash":"33b3b98eba5480385e2d3eff558fc6a9","index":{"nums":[1,146,0,146,0,0,0],"html_filename":"navipy_io_ivfile_py.html","relative_filename":"navipy/io/ivfile.py"}},"navipy_io_opencv_py":{"hash":"ddd577ab922e477acb316f520f769f99","index":{"nums":[1,55,0,55,0,0,0],"html_filename":"navipy_io_opencv_py.html","relative_filename":"navipy/io/opencv.py"}},"navipy_maths___init___py":{"hash":"6d18d44029bf988754a28d341cd2cdab","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_maths___init___py.html","relative_filename":"navipy/maths/__init__.py"}},"navipy_maths_constants_py":{"hash":"1de1e96d605808d63dcd88b75c25bd8e","index":{"nums":[1,4,0,0,0,0,0],"html_filename":"navipy_maths_constants_py.html","relative_filename":"navipy/maths/constants.py"}},"navipy_maths_coordinates_py":{"hash":"4e2f1fa4067ff95b232eb8b428e5c0dd","index":{"nums":[1,46,0,14,0,0,0],"html_filename":"navipy_maths_coordinates_py.html","relative_filename":"navipy/maths/coordinates.py"}},"navipy_maths_euler_py":{"hash":"99f1f9274639998bdab72eda847786e8","index":{"nums":[1,119,0,10,0,0,0],"html_filename":"navipy_maths_euler_py.html","relative_filename":"navipy/maths/euler.py"}},"navipy_maths_homogeneous_transformations_py":{"hash":"63bb83c5bf743e4ef7fea8a4e63964a3","index":{"nums":[1,234,0,45,0,0,0],"html_filename":"navipy_maths_homogeneous_transformations_py.html","relative_filename":"navipy/maths/homogeneous_transformations.py"}},"navipy_maths_quaternion_py":{"hash":"bfed2d2d25e55814963f60b6d740231d","index":{"nums":[1,70,0,13,0,0,0],"html_filename":"navipy_maths_quaternion_py.html","relative_filename":"navipy/maths/quaternion.py"}},"navipy_maths_random_py":{"hash":"91733b629989f47832c59bfad71a67dc","index":{"nums":[1,26,0,1,0,0,0],"html_filename":"navipy_maths_random_py.html","relative_filename":"navipy/maths/random.py"}},"navipy_maths_tools_py":{"hash":"63724d7c5880cb9a41008990ed201e55","index":{"nums":[1,29,0,12,0,0,0],"html_filename":"navipy_maths_tools_py.html","relative_filename":"navipy/maths/tools.py"}},"navipy_models___init___py":{"hash":"af9d0d0de0ea3b71d198bc63f1499a7d","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_models___init___py.html","relative_filename":"navipy/models/__init__.py"}},"navipy_models_dewar_2014_py":{"hash":"c3e67aa213aba3d9d30090d9a982cf6c","index":{"nums":[1,34,0,34,0,0,0],"html_filename":"navipy_models_dewar_2014_py.html","relative_filename":"navipy/models/dewar_2014.py"}},"navipy_models_hafner_2000_py":{"hash":"d80ada7d4611716219faeab3e0b81e9d","index":{"nums":[1,29,0,29,0,0,0],"html_filename":"navipy_models_hafner_2000_py.html","relative_filename":"navipy/models/hafner_2000.py"}},"navipy_models_irdf_2003_py":{"hash":"8a72a443e8e0d13fc009023e8cb7b3a6","index":{"nums":[1,36,0,36,0,0,0],"html_filename":"navipy_models_irdf_2003_py.html","relative_filename":"navipy/models/irdf_2003.py"}},"navipy_moving___init___py":{"hash":"2202326853d51c516b10032dd1f9c16c","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_moving___init___py.html","relative_filename":"navipy/moving/__init__.py"}},"navipy_moving_agent_py":{"hash":"8ef96d9ab9f2f60b35652f1a968048ff","index":{"nums":[1,312,0,158,0,0,0],"html_filename":"navipy_moving_agent_py.html","relative_filename":"navipy/moving/agent.py"}},"navipy_moving_maths_py":{"hash":"ec5501096550f725afd39fa0197baf34","index":{"nums":[1,51,0,4,0,0,0],"html_filename":"navipy_moving_maths_py.html","relative_filename":"navipy/moving/maths.py"}},"navipy_processing___init___py":{"hash":"f402e582c8cc056cb4c96b2bbd5d7a80","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_processing___init___py.html","relative_filename":"navipy/processing/__init__.py"}},"navipy_processing_mcode_py":{"hash":"470ebd1d6fdc3b31f06ac081a4b6184b","index":{"nums":[1,299,0,112,0,0,0],"html_filename":"navipy_processing_mcode_py.html","relative_filename":"navipy/processing/mcode.py"}},"navipy_processing_pcode_py":{"hash":"8213d558c6b3c2a01e295ed66f270a81","index":{"nums":[1,140,0,62,0,0,0],"html_filename":"navipy_processing_pcode_py.html","relative_filename":"navipy/processing/pcode.py"}},"navipy_processing_test_py":{"hash":"973d13f0a898c97909a46fd11623c785","index":{"nums":[1,257,0,70,0,0,0],"html_filename":"navipy_processing_test_py.html","relative_filename":"navipy/processing/test.py"}},"navipy_scene_py":{"hash":"fa7b23edfef525d3bcfae6e0ce41a1e0","index":{"nums":[1,82,0,30,0,0,0],"html_filename":"navipy_scene_py.html","relative_filename":"navipy/scene.py"}},"navipy_scripts___init___py":{"hash":"dfdbf213f501c4def15db83a250e2c39","index":{"nums":[1,19,0,15,0,0,0],"html_filename":"navipy_scripts___init___py.html","relative_filename":"navipy/scripts/__init__.py"}},"navipy_scripts_check_blender_versions_py":{"hash":"8e04d12ef4ec74551ce292169bde467c","index":{"nums":[1,29,0,29,0,0,0],"html_filename":"navipy_scripts_check_blender_versions_py.html","relative_filename":"navipy/scripts/check_blender_versions.py"}},"navipy_scripts_config_matplotlib_server_py":{"hash":"df9cf40b18631d649efbfdf7a20a3ca3","index":{"nums":[1,10,0,10,0,0,0],"html_filename":"navipy_scripts_config_matplotlib_server_py.html","relative_filename":"navipy/scripts/config_matplotlib_server.py"}},"navipy_scripts_dlt_calibrator_py":{"hash":"34735e805b19aac39fa7a2c04a1c4dc5","index":{"nums":[1,118,0,118,0,0,0],"html_filename":"navipy_scripts_dlt_calibrator_py.html","relative_filename":"navipy/scripts/dlt_calibrator.py"}},"navipy_scripts_navipy_dbbuilder_py":{"hash":"8b12d7e28e1a8f31e42a22f0aef19fb1","index":{"nums":[1,24,0,24,0,0,0],"html_filename":"navipy_scripts_navipy_dbbuilder_py.html","relative_filename":"navipy/scripts/navipy_dbbuilder.py"}},"navipy_sensors___init___py":{"hash":"af9d0d0de0ea3b71d198bc63f1499a7d","index":{"nums":[1,0,0,0,0,0,0],"html_filename":"navipy_sensors___init___py.html","relative_filename":"navipy/sensors/__init__.py"}},"navipy_sensors_renderer_py":{"hash":"e6f037f2f6f6747b8babff6e19d417af","index":{"nums":[1,350,0,350,0,0,0],"html_filename":"navipy_sensors_renderer_py.html","relative_filename":"navipy/sensors/renderer.py"}},"navipy_tools___init___py":{"hash":"781352c8ff192666d0335d8517833991","index":{"nums":[1,31,0,27,0,0,0],"html_filename":"navipy_tools___init___py.html","relative_filename":"navipy/tools/__init__.py"}},"navipy_tools_plots_py":{"hash":"b07f2f5bf927191cac4e820ee5c55d9a","index":{"nums":[1,46,0,35,0,0,0],"html_filename":"navipy_tools_plots_py.html","relative_filename":"navipy/tools/plots.py"}},"navipy_trajectories___init___py":{"hash":"0a0d3410da789859d44dde3e0382e1d5","index":{"nums":[1,511,0,339,0,0,0],"html_filename":"navipy_trajectories___init___py.html","relative_filename":"navipy/trajectories/__init__.py"}},"navipy_trajectories_random_py":{"hash":"9317549063a4f64e92ce68461cb82331","index":{"nums":[1,71,0,71,0,0,0],"html_filename":"navipy_trajectories_random_py.html","relative_filename":"navipy/trajectories/random.py"}},"navipy_trajectories_tools_py":{"hash":"31be330f30706198cfb36b16a8c96ea2","index":{"nums":[1,85,0,85,0,0,0],"html_filename":"navipy_trajectories_tools_py.html","relative_filename":"navipy/trajectories/tools.py"}},"navipy_trajectories_transformations_py":{"hash":"429b79ea3903715edcf062d801cff842","index":{"nums":[1,183,0,27,0,0,0],"html_filename":"navipy_trajectories_transformations_py.html","relative_filename":"navipy/trajectories/transformations.py"}},"navipy_trajectories_triangle_py":{"hash":"9ad9f19ac9d19f5bb120abdeea96cce5","index":{"nums":[1,106,0,39,0,0,0],"html_filename":"navipy_trajectories_triangle_py.html","relative_filename":"navipy/trajectories/triangle.py"}}}}
\ No newline at end of file
diff --git a/coverage_html_report/style.css b/coverage_html_report/style.css
index 86b8209..1459286 100644
--- a/coverage_html_report/style.css
+++ b/coverage_html_report/style.css
@@ -1,5 +1,5 @@
 /* Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 */
-/* For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt */
+/* For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt */
 
 /* CSS styles for coverage.py. */
 
@@ -365,6 +365,7 @@ td.text {
     height: 100%;
     background: white;
     border-left: 1px solid #eee;
+    will-change: transform; /* for faster scrolling of fixed element in Chrome */
     }
 
 #scroll_marker .marker {
diff --git a/navipy/maths/test_euler.py b/navipy/maths/test_euler.py
index 4d7deaf..c4e9c85 100644
--- a/navipy/maths/test_euler.py
+++ b/navipy/maths/test_euler.py
@@ -94,7 +94,9 @@ class TestEuler(unittest.TestCase):
         of wrong type, value are passed to the
         euler.angle_rate_matrix function
         """
-        for a, b, c, d in [(None, None, 6, 'xyz'), (5.0, 4.0, None, 'xyx')]:
+        for a, b, c, d in [(None, None, 6, 'xyz'),
+                           (5.0, None, 6, 'xyz'),
+                           (5.0, 4.0, None, 'xyx')]:
             with self.assertRaises(TypeError):
                 euler.angle_rate_matrix(a, b, c, d)
 
-- 
GitLab